X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/b993aa15c106eadf473fd64edbb9f3d9ddb7754a..94ecd7a5d671af98be2ec7cf33605ae4d42c251a:/apps/explorer/forms.py diff --git a/apps/explorer/forms.py b/apps/explorer/forms.py index c2f7c3a0..af1534e9 100644 --- a/apps/explorer/forms.py +++ b/apps/explorer/forms.py @@ -3,12 +3,17 @@ from django import forms from lxml import etree from librarian import dcparser + from explorer import models + class BookForm(forms.Form): content = forms.CharField(widget=forms.Textarea) commit_message = forms.CharField(required=False) +class BookUploadForm(forms.Form): + file = forms.FileField() + class ImageFoldersForm(forms.Form): folders = forms.ChoiceField(required=False) @@ -36,6 +41,8 @@ class DublinCoreForm(forms.Form): license = forms.CharField(required=False) license_description = forms.CharField(widget=forms.Textarea, required=False) + commit_message = forms.CharField(required=False) + def __init__(self, *args, **kwargs): text = None if 'text' in kwargs: @@ -46,20 +53,4 @@ class DublinCoreForm(forms.Form): if text is not None: book_info = dcparser.BookInfo.from_string(text) for name, value in book_info.to_dict().items(): - self.fields[name].initial = value - - def save(self, repository, path): - file_contents = repository.get_file(path) - doc = etree.fromstring(file_contents) - - book_info = dcparser.BookInfo() - for name, value in self.cleaned_data.items(): - if value is not None and value != '': - setattr(book_info, name, value) - rdf = etree.XML(book_info.to_xml()) - - old_rdf = doc.getroottree().find('//{http://www.w3.org/1999/02/22-rdf-syntax-ns#}RDF') - old_rdf.getparent().remove(old_rdf) - doc.insert(0, rdf) - repository.add_file(path, unicode(etree.tostring(doc), 'utf-8')) - + self.fields[name].initial = value \ No newline at end of file