From 037942ca74f3452f1248a5641500d78f7885fefd Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Tue, 21 Mar 2017 12:46:53 +0100 Subject: [PATCH 01/16] update librarian --- lib/librarian | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librarian b/lib/librarian index 97ccee22d..f7a103de8 160000 --- a/lib/librarian +++ b/lib/librarian @@ -1 +1 @@ -Subproject commit 97ccee22db67302265b8a566a5372b2bf75663db +Subproject commit f7a103de8f0c452cc200e60cffcef7a8193f2011 -- 2.20.1 From 1cdc0e97526e19d73fe5cf3ca92ae937b55790cb Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Tue, 21 Mar 2017 13:20:55 +0100 Subject: [PATCH 02/16] table borders in html --- src/wolnelektury/static/css/new.book.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/wolnelektury/static/css/new.book.css b/src/wolnelektury/static/css/new.book.css index 0c00de334..9a6eef967 100644 --- a/src/wolnelektury/static/css/new.book.css +++ b/src/wolnelektury/static/css/new.book.css @@ -270,6 +270,14 @@ em.person { content: "\feff"; } +table { + border-collapse: collapse; +} + +table, td, th { + border: 1px solid black; +} + /* =================================== */ /* = Hide some elements for printing = */ -- 2.20.1 From 3d82ba4d31380aa083684a934261747e36bb8825 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Wed, 22 Mar 2017 11:09:42 +0100 Subject: [PATCH 03/16] update librarian --- lib/librarian | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librarian b/lib/librarian index f7a103de8..89ca0a5b9 160000 --- a/lib/librarian +++ b/lib/librarian @@ -1 +1 @@ -Subproject commit f7a103de8f0c452cc200e60cffcef7a8193f2011 +Subproject commit 89ca0a5b949a96554491cc076bbeb66a93962eb9 -- 2.20.1 From e49375a84925aec73ac257c9fb4d537c5e7d0f27 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Fri, 7 Apr 2017 15:42:37 +0200 Subject: [PATCH 04/16] add cover generator command --- src/catalogue/management/commands/gencover.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/catalogue/management/commands/gencover.py diff --git a/src/catalogue/management/commands/gencover.py b/src/catalogue/management/commands/gencover.py new file mode 100644 index 000000000..adb84ea00 --- /dev/null +++ b/src/catalogue/management/commands/gencover.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# +from django.core.management.base import BaseCommand + +from catalogue.models import Book +from librarian.cover import DefaultEbookCover + + +class Command(BaseCommand): + def add_arguments(self, parser): + parser.add_argument('slug') + parser.add_argument('size', type=int) + + def handle(self, *args, **options): + slug = options['slug'] + size = options['size'] + wldoc = Book.objects.get(slug=slug).wldocument() + cover = DefaultEbookCover(wldoc.book_info, width=size) + cover.save('%s.jpg' % slug) -- 2.20.1 From 66ce9215ead86fa736bef13b065a281efb722a12 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Fri, 7 Apr 2017 15:45:12 +0200 Subject: [PATCH 05/16] remove deprecated TEMPLATE_DEBUG setting --- src/wolnelektury/settings/basic.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/wolnelektury/settings/basic.py b/src/wolnelektury/settings/basic.py index 0f49d6bdc..c9939b52c 100644 --- a/src/wolnelektury/settings/basic.py +++ b/src/wolnelektury/settings/basic.py @@ -6,7 +6,6 @@ from os import path from .paths import PROJECT_DIR DEBUG = False -TEMPLATE_DEBUG = DEBUG MAINTENANCE_MODE = False ADMINS = [ -- 2.20.1 From 070975c3e28093c54fa890962a756e89b5f4d155 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Mon, 10 Apr 2017 14:48:29 +0200 Subject: [PATCH 06/16] switch to fnp-django-pagination --- requirements/requirements-test.txt | 1 - requirements/requirements.txt | 2 +- src/wolnelektury/settings/__init__.py | 4 ++-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/requirements/requirements-test.txt b/requirements/requirements-test.txt index 063cd7837..87aa0fe38 100644 --- a/requirements/requirements-test.txt +++ b/requirements/requirements-test.txt @@ -3,5 +3,4 @@ nose>=1.3.7 django-nose>=1.4.2,<1.5 nosexcover -polib mock diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 6c3c28002..07a49658c 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -5,7 +5,7 @@ Django>=1.8,<1.9 fnpdjango>=0.1.15,<0.2 django-pipeline>=1.6,<1.7 jsmin -django-pagination>=1.0 +fnp-django-pagination django-maintenancemode>=0.10 django-piston==0.2.2.1.2 jsonfield>=1.0.3,<1.1 diff --git a/src/wolnelektury/settings/__init__.py b/src/wolnelektury/settings/__init__.py index 13c7466cf..819085009 100644 --- a/src/wolnelektury/settings/__init__.py +++ b/src/wolnelektury/settings/__init__.py @@ -20,7 +20,7 @@ MIDDLEWARE_CLASSES = [ 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.admindocs.middleware.XViewMiddleware', - 'pagination.middleware.PaginationMiddleware', + 'fnp_django_pagination.middleware.PaginationMiddleware', 'ssify.middleware.LocaleMiddleware', 'maintenancemode.middleware.MaintenanceModeMiddleware', 'django.middleware.common.CommonMiddleware', @@ -76,7 +76,7 @@ INSTALLED_APPS_CONTRIB = [ 'django.contrib.admin', 'django.contrib.admindocs', 'django.contrib.staticfiles', - 'pagination', + 'fnp_django_pagination', 'pipeline', 'piston', 'piwik', -- 2.20.1 From 327e9cecd8cd2a8795a874dcb4e88a50d7c972fe Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Wed, 26 Apr 2017 14:01:31 +0200 Subject: [PATCH 07/16] =?utf8?q?covers=20for=20rider=C3=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/catalogue/management/commands/gencover.py | 4 +++- src/catalogue/urls.py | 2 ++ src/catalogue/views.py | 9 +++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/catalogue/management/commands/gencover.py b/src/catalogue/management/commands/gencover.py index adb84ea00..d4c838351 100644 --- a/src/catalogue/management/commands/gencover.py +++ b/src/catalogue/management/commands/gencover.py @@ -12,10 +12,12 @@ class Command(BaseCommand): def add_arguments(self, parser): parser.add_argument('slug') parser.add_argument('size', type=int) + parser.add_argument('--bleed', action='store_true') def handle(self, *args, **options): slug = options['slug'] size = options['size'] + bleed = 20 if options['bleed'] else 0 wldoc = Book.objects.get(slug=slug).wldocument() - cover = DefaultEbookCover(wldoc.book_info, width=size) + cover = DefaultEbookCover(wldoc.book_info, width=size, bleed=bleed) cover.save('%s.jpg' % slug) diff --git a/src/catalogue/urls.py b/src/catalogue/urls.py index 1d4051b27..5f6f8e5a5 100644 --- a/src/catalogue/urls.py +++ b/src/catalogue/urls.py @@ -81,6 +81,8 @@ urlpatterns += patterns( url(r'^lektura/(?P%s)/motyw/(?P[a-zA-Z0-9-]+)/$' % SLUG, 'book_fragments', name='book_fragments'), + url(r'^okladka-ridero/(?P%s).png$' % SLUG, 'ridero_cover'), + # Includes. url(r'^b/(?P\d+)/mini\.(?P.+)\.html', 'book_mini', name='catalogue_book_mini'), url(r'^b/(?P\d+)/mini_nolink\.(?P.+)\.html', 'book_mini', {'with_link': False}, diff --git a/src/catalogue/views.py b/src/catalogue/views.py index 99e3c8244..503b6f533 100644 --- a/src/catalogue/views.py +++ b/src/catalogue/views.py @@ -785,3 +785,12 @@ def collections(request): 'objects': objects, 'best': best, }) + + +def ridero_cover(request, slug): + from librarian.cover import DefaultEbookCover + wldoc = Book.objects.get(slug=slug).wldocument() + cover = DefaultEbookCover(wldoc.book_info, width=980, bleed=20, format='PNG') + response = HttpResponse(content_type="image/png") + cover.save(response) + return response -- 2.20.1 From 36cca9810221f31c33f69b8a9fd669d590346520 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Thu, 27 Apr 2017 19:06:01 +0200 Subject: [PATCH 08/16] update librarian --- lib/librarian | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librarian b/lib/librarian index 89ca0a5b9..1423b7f55 160000 --- a/lib/librarian +++ b/lib/librarian @@ -1 +1 @@ -Subproject commit 89ca0a5b949a96554491cc076bbeb66a93962eb9 +Subproject commit 1423b7f55cedaf4afdb0b8d6060e1ddae7b0c44a -- 2.20.1 From d4d849867aedf29df6cd3d764fa5bd9c0f6e8c76 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Thu, 27 Apr 2017 19:06:28 +0200 Subject: [PATCH 09/16] eisbn csv generator --- .../management/commands/eisbn_csv.py | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 src/catalogue/management/commands/eisbn_csv.py diff --git a/src/catalogue/management/commands/eisbn_csv.py b/src/catalogue/management/commands/eisbn_csv.py new file mode 100644 index 000000000..ec1333203 --- /dev/null +++ b/src/catalogue/management/commands/eisbn_csv.py @@ -0,0 +1,82 @@ +# -*- coding: utf-8 -*- +# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# +import csv +import sys +from django.core.management.base import BaseCommand +from django.utils.timezone import localtime + +from catalogue.models import Book +from librarian import RDFNS, DCNS + + +FORMATS = ('HTML', 'PDF', 'TXT', 'EPUB', 'MOBI') + +FORMATS_WITH_CHILDREN = ('PDF', 'EPUB', 'MOBI') + + +PRODUCT_FORMS_1 = { + 'HTML': 'EC', + 'PDF': 'EB', + 'TXT': 'EB', + 'EPUB': 'ED', + 'MOBI': 'ED', +} + +PRODUCT_FORMS_2 = { + 'HTML': 'E105', + 'PDF': 'E107', + 'TXT': 'E112', + 'EPUB': 'E101', + 'MOBI': 'E127', +} + + +def is_institution(name): + return name.startswith(u'Zgromadzenie Ogólne') + + +class Command(BaseCommand): + @staticmethod + def dc_values(desc, tag): + return [e.text for e in desc.findall('.//' + DCNS(tag))] + + def handle(self, *args, **options): + writer = csv.writer(sys.stdout) + for book in Book.objects.all(): + desc = book.wldocument().edoc.find('.//' + RDFNS('Description')) + formats = FORMATS_WITH_CHILDREN if book.children.exists() else FORMATS + for file_format in formats: + imprint = u'Fundacja Nowoczesna Polska' + title = book.title + subtitle = '' + year = '' + volume = '' + publication_date = localtime(book.created_at).date().isoformat() + info_date = publication_date + author = '; '.join(self.dc_values(desc, 'creator')) + author_person = author if not is_institution(author) else '' + author_institution = author if is_institution(author) else '' + publication_type = 'DGO' + edition = '1' + product_form1 = PRODUCT_FORMS_1[file_format] + product_form2 = PRODUCT_FORMS_2[file_format] + language = self.dc_values(desc, 'language')[0] + row = [ + imprint, + title, + subtitle, + year, + volume, + publication_date, + info_date, + author_person, + author_institution, + publication_type, + edition, + product_form1, + product_form2, + language, + ] + writer.writerow([s.encode('utf-8') for s in row]) -- 2.20.1 From 05b916d4a66e93653bee48adc3126d7a7a15565f Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Thu, 4 May 2017 15:47:27 +0200 Subject: [PATCH 10/16] hide banner for 1% --- src/wolnelektury/templates/base/superbase.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/wolnelektury/templates/base/superbase.html b/src/wolnelektury/templates/base/superbase.html index 89fed6cd0..e68c97d71 100644 --- a/src/wolnelektury/templates/base/superbase.html +++ b/src/wolnelektury/templates/base/superbase.html @@ -136,12 +136,14 @@
+ {% comment %} + {% endcomment %} {% block body %} {% endblock %}
-- 2.20.1 From ba3781854f976685312775d71c29a9b1a5426709 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Tue, 9 May 2017 11:27:28 +0200 Subject: [PATCH 11/16] volume and imprint for isbn/csv --- .../management/commands/eisbn_csv.py | 37 +++++++++++++++++-- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/src/catalogue/management/commands/eisbn_csv.py b/src/catalogue/management/commands/eisbn_csv.py index ec1333203..3c46ea6ac 100644 --- a/src/catalogue/management/commands/eisbn_csv.py +++ b/src/catalogue/management/commands/eisbn_csv.py @@ -32,11 +32,42 @@ PRODUCT_FORMS_2 = { 'MOBI': 'E127', } +VOLUME_NUMBERS = { + u'pierwszy': 1, + u'drugi': 2, + u'trzeci': 3, + u'czwarty': 4, + u'piąty': 5, + u'szósty': 6, + u'I': 1, + u'II': 2, + u'III': 3, + u'IV': 4, + u'V': 5, + u'VI': 6, +} + def is_institution(name): return name.startswith(u'Zgromadzenie Ogólne') +VOLUME_SEPARATOR = ', tom ' + + +def get_volume(title): + if VOLUME_SEPARATOR not in title: + return title, '' + else: + vol_idx = title.index(VOLUME_SEPARATOR) + stripped = title[:vol_idx] + vol_name = title[vol_idx + len(VOLUME_SEPARATOR):] + if vol_name in VOLUME_NUMBERS: + return stripped, VOLUME_NUMBERS[vol_name] + else: + return title, '' + + class Command(BaseCommand): @staticmethod def dc_values(desc, tag): @@ -48,11 +79,11 @@ class Command(BaseCommand): desc = book.wldocument().edoc.find('.//' + RDFNS('Description')) formats = FORMATS_WITH_CHILDREN if book.children.exists() else FORMATS for file_format in formats: - imprint = u'Fundacja Nowoczesna Polska' - title = book.title + # imprint = u'Fundacja Nowoczesna Polska' + imprint = '; '.join(self.dc_values(desc, 'publisher')) + title, volume = get_volume(book.title) subtitle = '' year = '' - volume = '' publication_date = localtime(book.created_at).date().isoformat() info_date = publication_date author = '; '.join(self.dc_values(desc, 'creator')) -- 2.20.1 From e9263ed76910227deccdce1469b4edda3b833be1 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Tue, 9 May 2017 15:35:29 +0200 Subject: [PATCH 12/16] wider menu in book/picture viewers --- src/catalogue/templates/catalogue/book_text.html | 4 ++-- src/catalogue/templates/catalogue/viewer_base.html | 2 +- src/picture/templates/picture/picture_viewer.html | 6 +++--- src/wolnelektury/static/scss/book_text/const.scss | 2 +- src/wolnelektury/static/scss/book_text/menu.scss | 6 +++--- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/catalogue/templates/catalogue/book_text.html b/src/catalogue/templates/catalogue/book_text.html index 5a6db1138..629cb5bce 100644 --- a/src/catalogue/templates/catalogue/book_text.html +++ b/src/catalogue/templates/catalogue/book_text.html @@ -11,8 +11,8 @@ {% block menu %}
  • - {{ book.pretty_title }} diff --git a/src/catalogue/templates/catalogue/viewer_base.html b/src/catalogue/templates/catalogue/viewer_base.html index 3a8372a72..6e86b5f63 100644 --- a/src/catalogue/templates/catalogue/viewer_base.html +++ b/src/catalogue/templates/catalogue/viewer_base.html @@ -23,7 +23,7 @@
  • - Wolne Lektury diff --git a/src/picture/templates/picture/picture_viewer.html b/src/picture/templates/picture/picture_viewer.html index 75be359bf..bfa87b75a 100644 --- a/src/picture/templates/picture/picture_viewer.html +++ b/src/picture/templates/picture/picture_viewer.html @@ -42,8 +42,8 @@
  • - {{ picture.pretty_title }} @@ -60,7 +60,7 @@
  • {% for sponsor in sponsors %} - {% thumbnail sponsor.logo "80x200" as logo %} + {% thumbnail sponsor.logo "120x300" as logo %} {{ sponsor.name }} {% endthumbnail %} {% endfor %} diff --git a/src/wolnelektury/static/scss/book_text/const.scss b/src/wolnelektury/static/scss/book_text/const.scss index 4c8ab8201..154c69911 100644 --- a/src/wolnelektury/static/scss/book_text/const.scss +++ b/src/wolnelektury/static/scss/book_text/const.scss @@ -1,4 +1,4 @@ -$W_MENU: 80px; +$W_MENU: 120px; $S_MENU: 600px; $W_BOOK_TEXT_MIN: 160px; diff --git a/src/wolnelektury/static/scss/book_text/menu.scss b/src/wolnelektury/static/scss/book_text/menu.scss index 26fcfedfe..140b56a4a 100644 --- a/src/wolnelektury/static/scss/book_text/menu.scss +++ b/src/wolnelektury/static/scss/book_text/menu.scss @@ -48,15 +48,15 @@ @extend %menu-toggle; height: 24px; &:before { - left: 25px; - right: 25px; + left: 45px; + right: 45px; } } #menu { display: none; - width: 80px; + width: $W_MENU; height: 100%; } -- 2.20.1 From 29d2a68b8dce0551730cbf568cb183a0b1c3f47a Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Wed, 17 May 2017 14:15:55 +0200 Subject: [PATCH 13/16] update librarian --- lib/librarian | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librarian b/lib/librarian index 1423b7f55..7dee009f0 160000 --- a/lib/librarian +++ b/lib/librarian @@ -1 +1 @@ -Subproject commit 1423b7f55cedaf4afdb0b8d6060e1ddae7b0c44a +Subproject commit 7dee009f056f7d802ed487b9b77698d54309f4da -- 2.20.1 From ad23ae8844ceed4682afd44c840a84d474398791 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Wed, 17 May 2017 14:16:32 +0200 Subject: [PATCH 14/16] ISBN in html reader --- src/catalogue/templates/catalogue/book_info.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/catalogue/templates/catalogue/book_info.html b/src/catalogue/templates/catalogue/book_info.html index 948976174..014a9836a 100755 --- a/src/catalogue/templates/catalogue/book_info.html +++ b/src/catalogue/templates/catalogue/book_info.html @@ -55,3 +55,9 @@ {{ book.extra_info.cover_by }}.

    {% endif %} + +{% if book.extra_info.isbn_html %} +

    + {{ book.extra_info.isbn_html }} +

    +{% endif %} -- 2.20.1 From daa011c7867f3ed69b32e680672107536896cfa8 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Wed, 17 May 2017 14:23:27 +0200 Subject: [PATCH 15/16] ignore *.css.map --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1666a7991..e3d34fee5 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ fabfile_local.py *.log .sass-cache *.mo +*.css.map # Compress output /var -- 2.20.1 From a0f6b1a1a9c460b0fd7430581fa7f93d61985230 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Thu, 18 May 2017 15:08:18 +0200 Subject: [PATCH 16/16] isbn/csv: volume names, list from slugs and other changes --- .../management/commands/eisbn_csv.py | 55 ++++++++----------- 1 file changed, 22 insertions(+), 33 deletions(-) diff --git a/src/catalogue/management/commands/eisbn_csv.py b/src/catalogue/management/commands/eisbn_csv.py index 3c46ea6ac..4e8f5e4aa 100644 --- a/src/catalogue/management/commands/eisbn_csv.py +++ b/src/catalogue/management/commands/eisbn_csv.py @@ -11,7 +11,7 @@ from catalogue.models import Book from librarian import RDFNS, DCNS -FORMATS = ('HTML', 'PDF', 'TXT', 'EPUB', 'MOBI') +FORMATS = ('PDF', 'HTML', 'TXT', 'EPUB', 'MOBI') FORMATS_WITH_CHILDREN = ('PDF', 'EPUB', 'MOBI') @@ -32,40 +32,22 @@ PRODUCT_FORMS_2 = { 'MOBI': 'E127', } -VOLUME_NUMBERS = { - u'pierwszy': 1, - u'drugi': 2, - u'trzeci': 3, - u'czwarty': 4, - u'piąty': 5, - u'szósty': 6, - u'I': 1, - u'II': 2, - u'III': 3, - u'IV': 4, - u'V': 5, - u'VI': 6, -} - def is_institution(name): return name.startswith(u'Zgromadzenie Ogólne') -VOLUME_SEPARATOR = ', tom ' +VOLUME_SEPARATORS = (u'. część ', u', część ', u', tom ', u'. der tragödie ') def get_volume(title): - if VOLUME_SEPARATOR not in title: - return title, '' - else: - vol_idx = title.index(VOLUME_SEPARATOR) - stripped = title[:vol_idx] - vol_name = title[vol_idx + len(VOLUME_SEPARATOR):] - if vol_name in VOLUME_NUMBERS: - return stripped, VOLUME_NUMBERS[vol_name] - else: - return title, '' + for volume_separator in VOLUME_SEPARATORS: + if volume_separator in title.lower(): + vol_idx = title.lower().index(volume_separator) + stripped = title[:vol_idx] + vol_name = title[vol_idx + 2:] + return stripped, vol_name + return title, '' class Command(BaseCommand): @@ -74,19 +56,24 @@ class Command(BaseCommand): return [e.text for e in desc.findall('.//' + DCNS(tag))] def handle(self, *args, **options): + slugs = [line.strip() for line in sys.stdin] writer = csv.writer(sys.stdout) - for book in Book.objects.all(): - desc = book.wldocument().edoc.find('.//' + RDFNS('Description')) - formats = FORMATS_WITH_CHILDREN if book.children.exists() else FORMATS - for file_format in formats: - # imprint = u'Fundacja Nowoczesna Polska' + all_books = Book.objects.filter(slug__in=slugs) + books_without_children = all_books.filter(children=None) + for file_format in FORMATS: + if file_format in FORMATS_WITH_CHILDREN: + books = all_books + else: + books = books_without_children + for book in books: + desc = book.wldocument().edoc.find('.//' + RDFNS('Description')) imprint = '; '.join(self.dc_values(desc, 'publisher')) title, volume = get_volume(book.title) subtitle = '' year = '' publication_date = localtime(book.created_at).date().isoformat() info_date = publication_date - author = '; '.join(self.dc_values(desc, 'creator')) + author = '; '.join(author.strip() for author in self.dc_values(desc, 'creator')) author_person = author if not is_institution(author) else '' author_institution = author if is_institution(author) else '' publication_type = 'DGO' @@ -109,5 +96,7 @@ class Command(BaseCommand): product_form1, product_form2, language, + book.slug, + file_format, ] writer.writerow([s.encode('utf-8') for s in row]) -- 2.20.1