fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixes #4076: Recommendations from collections.
[wolnelektury.git]
/
src
/
isbn
/
forms.py
diff --git
a/src/isbn/forms.py
b/src/isbn/forms.py
index
147be0b
..
7d47fb5
100644
(file)
--- a/
src/isbn/forms.py
+++ b/
src/isbn/forms.py
@@
-1,9
+1,13
@@
-# -*- coding: utf-8 -*-
-from urllib2 import urlopen
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
+from datetime import date
+import json
+from urllib.request import urlopen
from django import forms
from django.utils.translation import ugettext_lazy as _
from django import forms
from django.utils.translation import ugettext_lazy as _
-from
fnpdjango.utils.text.slughifi import slughifi
+from
slugify import slugify
from isbn.management.commands.import_onix import UNKNOWN
from isbn.models import ONIXRecord, ISBNPool
from isbn.management.commands.import_onix import UNKNOWN
from isbn.models import ONIXRecord, ISBNPool
@@
-12,8
+16,8
@@
from librarian.parser import WLDocument
class WLISBNForm(forms.Form):
class WLISBNForm(forms.Form):
- platform_url = forms.URLField(label=
u
'Adres na platformie')
- publishing_date = forms.DateField(label=
u'Data publikacji'
)
+ platform_url = forms.URLField(label='Adres na platformie')
+ publishing_date = forms.DateField(label=
'Data publikacji', initial=date.today
)
def prepare_data(self):
platform_url = self.cleaned_data['platform_url']
def prepare_data(self):
platform_url = self.cleaned_data['platform_url']
@@
-47,7
+51,7
@@
class WLConfirmForm(WLISBNForm):
for file_format in data['formats']:
data['product_form'] = PRODUCT_FORMS[file_format]
data['product_form_detail'] = PRODUCT_FORM_DETAILS[file_format]
for file_format in data['formats']:
data['product_form'] = PRODUCT_FORMS[file_format]
data['product_form_detail'] = PRODUCT_FORM_DETAILS[file_format]
- data['contributors'] =
self.contributors(data
)
+ data['contributors'] =
json.dumps(self.contributors(data)
)
ONIXRecord.new_record(purpose=ISBNPool.PURPOSE_WL, data=data)
return data
ONIXRecord.new_record(purpose=ISBNPool.PURPOSE_WL, data=data)
return data
@@
-62,20
+66,20
@@
class FNPISBNForm(forms.Form):
('SOFT', _('Soft cover book')),
)
LANGUAGE_CHOICES = (
('SOFT', _('Soft cover book')),
)
LANGUAGE_CHOICES = (
- ('pol',
u
'polski'),
- ('eng',
u
'angielski'),
- ('ger',
u
'niemiecki'),
- ('fre',
u
'francuski'),
+ ('pol', 'polski'),
+ ('eng', 'angielski'),
+ ('ger', 'niemiecki'),
+ ('fre', 'francuski'),
)
title = forms.CharField()
)
title = forms.CharField()
- authors = forms.CharField(help_text=
u
'wartości oddzielone przecinkami lub „Wielu autorów”')
+ authors = forms.CharField(help_text='wartości oddzielone przecinkami lub „Wielu autorów”')
formats = forms.MultipleChoiceField(choices=FORMAT_CHOICES)
language = forms.ChoiceField(choices=LANGUAGE_CHOICES)
publishing_date = forms.DateField()
def prepare_author(self, name):
formats = forms.MultipleChoiceField(choices=FORMAT_CHOICES)
language = forms.ChoiceField(choices=LANGUAGE_CHOICES)
publishing_date = forms.DateField()
def prepare_author(self, name):
- if name ==
u
'Wielu autorów':
+ if name == 'Wielu autorów':
return {'role': 'A01', 'unnamed': '04'}
if ' ' in name:
first_name, last_name = [s.strip() for s in name.rsplit(' ', 1)]
return {'role': 'A01', 'unnamed': '04'}
if ' ' in name:
first_name, last_name = [s.strip() for s in name.rsplit(' ', 1)]
@@
-85,14
+89,14
@@
class FNPISBNForm(forms.Form):
return {'role': 'A01', 'name': output_name}
def slug(self):
return {'role': 'A01', 'name': output_name}
def slug(self):
- return slug
hifi
('fnp %s %s' % (self.cleaned_data['authors'], self.cleaned_data['title']))
+ return slug
ify
('fnp %s %s' % (self.cleaned_data['authors'], self.cleaned_data['title']))
def save(self):
data = {
'title': self.cleaned_data['title'],
'language': self.cleaned_data['language'],
'publishing_date': self.cleaned_data['publishing_date'],
def save(self):
data = {
'title': self.cleaned_data['title'],
'language': self.cleaned_data['language'],
'publishing_date': self.cleaned_data['publishing_date'],
- 'contributors':
[self.prepare_author(a) for a in self.cleaned_data['authors'].split(',')]
,
+ 'contributors':
json.dumps([self.prepare_author(a) for a in self.cleaned_data['authors'].split(',')])
,
'edition_type': 'NED',
'imprint': 'Fundacja Nowoczesna Polska',
'dc_slug': self.slug(),
'edition_type': 'NED',
'imprint': 'Fundacja Nowoczesna Polska',
'dc_slug': self.slug(),