X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/653c75b6951e028fe4c68e27cc9852e45fa418a6..6e769eb123cc216e4ba642d3a6d943dfd3fa0abe:/apps/explorer/forms.py diff --git a/apps/explorer/forms.py b/apps/explorer/forms.py index da8a1179..33585bce 100644 --- a/apps/explorer/forms.py +++ b/apps/explorer/forms.py @@ -1,11 +1,14 @@ -from django import forms - -from lxml import etree +# -*- coding: utf-8 -*- +import os from librarian import dcparser + +from django import forms +from django.conf import settings import django.utils from explorer import models + class PersonField(forms.CharField): def clean(self, value): try: @@ -60,8 +63,9 @@ class MergeForm(forms.Form): class BookUploadForm(forms.Form): file = forms.FileField(label='Source OCR file') - bookname = forms.RegexField(regex='[\w-]+', \ + bookname = forms.RegexField(regex=r'[0-9\.\w_-]+', \ label='Publication name', help_text='Example: slowacki-beniowski') + autoxml = forms.BooleanField(required=False, initial=True, label=u"Generate DublinCore template") class ImageFoldersForm(forms.Form): folders = forms.ChoiceField(required=False) @@ -70,6 +74,24 @@ class ImageFoldersForm(forms.Form): super(ImageFoldersForm, self).__init__(*args, **kwargs) self.fields['folders'].choices = [('', '-- Wybierz folder z obrazkami --')] + [(fn, fn) for fn in models.get_image_folders()] +class SplitForm(forms.Form): + partname = forms.RegexField(regex='[0-9\.\w_-]+', \ + label='Part name', help_text='Example: rozdział-2') + autoxml = forms.BooleanField(required=False, initial=False, label=u"Split as new publication") + fulltext = forms.CharField(widget=forms.HiddenInput(), required=False) + splittext = forms.CharField(widget=forms.HiddenInput(), required=False) + +class GalleryChoiceForm(forms.ModelForm): + subpath = forms.ChoiceField(choices=()) + + def __init__(self, *args, **kwargs): + super(GalleryChoiceForm, self).__init__(*args, **kwargs) + self.fields['subpath'].choices = [(settings.IMAGE_DIR + '/' + x, x) for x in os.listdir(settings.MEDIA_ROOT + settings.IMAGE_DIR)] + + class Meta: + model = models.GalleryForDocument + fields = ('document', 'subpath',) + class DublinCoreForm(forms.Form): about = forms.URLField(verify_exists=False) author = PersonField() @@ -78,15 +100,15 @@ class DublinCoreForm(forms.Form): kinds = ListField() genres = ListField() created_at = forms.DateField() - released_to_public_domain_at = forms.DateField() + released_to_public_domain_at = forms.DateField(required=False) editors = ListField(widget=forms.Textarea, required=False, converter=person_conv) translators = ListField(widget=forms.Textarea, required=False, converter=person_conv) technical_editors = ListField(widget=forms.Textarea, required=False, converter=person_conv) publisher = forms.CharField() - source_name = forms.CharField(widget=forms.Textarea) - source_url = forms.URLField(verify_exists=False) + source_name = forms.CharField(widget=forms.Textarea, required=False) + source_url = forms.URLField(verify_exists=False, required=False) url = forms.URLField(verify_exists=False) - parts = forms.CharField(widget=forms.Textarea, required=False) + parts = ListField(required=False) license = forms.CharField(required=False) license_description = forms.CharField(widget=forms.Textarea, required=False) @@ -100,4 +122,5 @@ class DublinCoreForm(forms.Form): vdict = info.to_dict() for name in self.fields.keys(): if vdict.has_key(name): - self.fields[name].initial = vdict[name] \ No newline at end of file + self.fields[name].initial = vdict[name] +