- if not self.cleaned_data['lesson_xml_file']:
- if self.cleaned_data['lesson_xml']:
- self.cleaned_data['lesson_xml_file'] = \
- ContentFile(self.cleaned_data['lesson_xml'].encode('utf-8'))
- else:
- raise ValidationError(u"Proszę dostarczyć XML.")
- return super(LessonImportForm, self).clean()
+ def save(self):
+ temp_dir = mkdtemp()
+ attachment_names = json.loads(self.cleaned_data['attachments'])
+ attachments = {}
+ remote_gallery_url = self.cleaned_data['gallery_url']
+ if remote_gallery_url and attachment_names:
+ for attachment_name in attachment_names:
+ attachment_url = ('%s%s' % (remote_gallery_url, attachment_name)).encode('utf-8')
+ temp_filename = os.path.join(temp_dir, attachment_name)
+ urllib.urlretrieve(attachment_url, temp_filename)
+ attachments[attachment_name] = IOFile.from_filename(temp_filename)