X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/ab2c0be6275e50a83cd07fff92a08e01a663abae..c99ae5508d64ef5063d7365cc90b5295b5686db8:/apps/explorer/forms.py diff --git a/apps/explorer/forms.py b/apps/explorer/forms.py index 81e9f261..af1534e9 100644 --- a/apps/explorer/forms.py +++ b/apps/explorer/forms.py @@ -3,8 +3,10 @@ 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) @@ -39,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: @@ -49,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