X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/d4d849867aedf29df6cd3d764fa5bd9c0f6e8c76..d6f190d50127a1aca615ff505a8a2595b4cfb7de:/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 deleted file mode 100644 index ec1333203..000000000 --- a/src/catalogue/management/commands/eisbn_csv.py +++ /dev/null @@ -1,82 +0,0 @@ -# -*- 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])