-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:
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)
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()
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)
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]
+