X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/b993aa15c106eadf473fd64edbb9f3d9ddb7754a..317112df0a3aa6652f867da0fd8b7de504156e2b:/apps/explorer/forms.py diff --git a/apps/explorer/forms.py b/apps/explorer/forms.py deleted file mode 100644 index c2f7c3a0..00000000 --- a/apps/explorer/forms.py +++ /dev/null @@ -1,65 +0,0 @@ -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 ImageFoldersForm(forms.Form): - folders = forms.ChoiceField(required=False) - - def __init__(self, *args, **kwargs): - super(ImageFoldersForm, self).__init__(*args, **kwargs) - self.fields['folders'].choices = [('', '-- Wybierz folder z obrazkami --')] + [(fn, fn) for fn in models.get_image_folders()] - - -class DublinCoreForm(forms.Form): - wiki_url = forms.URLField(verify_exists=False) - author = forms.CharField() - title = forms.CharField() - epoch = forms.CharField() - kind = forms.CharField() - genre = forms.CharField() - created_at = forms.DateField() - released_to_public_domain_at = forms.DateField() - translator = forms.CharField(required=False) - technical_editor = forms.CharField(required=False) - publisher = forms.CharField() - source_name = forms.CharField(widget=forms.Textarea) - source_url = forms.URLField(verify_exists=False) - url = forms.URLField(verify_exists=False) - parts = forms.CharField(widget=forms.Textarea, required=False) - license = forms.CharField(required=False) - license_description = forms.CharField(widget=forms.Textarea, required=False) - - def __init__(self, *args, **kwargs): - text = None - if 'text' in kwargs: - text = kwargs.pop('text') - - super(DublinCoreForm, self).__init__(*args, **kwargs) - - 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')) -