X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/151ce2b12c8d669837e0b50b06e9828574bbb7cc..0c613164e94ea79fce559b2b1632691986a84f25:/apps/catalogue/forms.py diff --git a/apps/catalogue/forms.py b/apps/catalogue/forms.py index fd751965a..2bf974d44 100644 --- a/apps/catalogue/forms.py +++ b/apps/catalogue/forms.py @@ -3,6 +3,7 @@ # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # from django import forms +from django.core.files.base import ContentFile from django.utils.translation import ugettext_lazy as _ from slughifi import slughifi @@ -12,7 +13,17 @@ from catalogue import utils class BookImportForm(forms.Form): - book_xml_file = forms.FileField() + book_xml_file = forms.FileField(required=False) + book_xml = forms.CharField(required=False) + + def clean(self): + if not self.cleaned_data['book_xml_file']: + if self.cleaned_data['book_xml']: + self.cleaned_data['book_xml_file'] = \ + ContentFile(self.cleaned_data['book_xml'].encode('utf-8')) + else: + raise forms.ValidationError(_("Please supply an XML.")) + return super(BookImportForm, self).clean() def save(self, commit=True, **kwargs): return Book.from_xml_file(self.cleaned_data['book_xml_file'], overwrite=True, **kwargs)