X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/fefdce4e24f9e397df5538fe6e7f54b5ece4d841..ac9ba215113d29655e142f23ab398c5c2765df1e:/src/librarian/text.py diff --git a/src/librarian/text.py b/src/librarian/text.py index 7ba6d29..d3df5fe 100644 --- a/src/librarian/text.py +++ b/src/librarian/text.py @@ -1,15 +1,11 @@ -# -*- coding: utf-8 -*- -# # This file is part of Librarian, licensed under GNU Affero GPLv3 or later. -# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# Copyright © Fundacja Wolne Lektury. See NOTICE for more information. # -from __future__ import unicode_literals - import copy -from librarian import functions, OutputFile +from librarian import functions, OutputFile, get_resource from lxml import etree +import io import os -import six functions.reg_substitute_entities() @@ -17,20 +13,9 @@ functions.reg_wrap_words() functions.reg_strip() functions.reg_person_name() -TEMPLATE = u"""\ -%(text)s - - ------ -Ta lektura, podobnie jak tysiące innych, dostępna jest na stronie wolnelektury.pl. -Wersja lektury w opracowaniu merytorycznym i krytycznym (przypisy i motywy) dostępna jest na stronie %(url)s. - -Utwór opracowany został w ramach projektu Wolne Lektury przez fundację Nowoczesna Polska. -%(license_description)s.%(source)s%(publisher)s - -%(description)s%(contributors)s%(funders)s%(isbn)s -""" +with io.open(get_resource("res/text/template.txt")) as f: + TEMPLATE = f.read() def transform(wldoc, flags=None, **options): @@ -39,7 +24,8 @@ def transform(wldoc, flags=None, **options): possible flags: raw-text, """ # Parse XSLT - style_filename = os.path.join(os.path.dirname(__file__), 'xslt/book2txt.xslt') + style_filename = os.path.join(os.path.dirname(__file__), + 'xslt/book2txt.xslt') style = etree.parse(style_filename) document = copy.deepcopy(wldoc) @@ -59,34 +45,62 @@ def transform(wldoc, flags=None, **options): parsed_dc = document.book_info description = parsed_dc.description url = document.book_info.url - - license_description = parsed_dc.license_description + + license_name = parsed_dc.license_description license = parsed_dc.license + license_description = [ + ( + "Wszystkie zasoby Wolnych Lektur możesz swobodnie wykorzystywać, " + "publikować i rozpowszechniać pod warunkiem zachowania warunków " + "licencji i zgodnie z Zasadami wykorzystania Wolnych Lektur." + ) + ] + if license: - license_description = u"Ten utwór jest udostępniony na licencji %s: \n%s" % ( - license_description, license) + license_description.append( + "Ten utwór jest udostępniony na licencji %s: %s" % ( + license_name, license + ) + ) else: - license_description = u"Ten utwór nie jest objęty majątkowym prawem autorskim i znajduje się " \ - u"w domenie publicznej, co oznacza że możesz go swobodnie wykorzystywać, " \ - u"publikować i rozpowszechniać. Jeśli utwór opatrzony jest dodatkowymi " \ - u"materiałami (przypisy, motywy literackie etc.), które podlegają prawu " \ - u"autorskiemu, to te dodatkowe materiały udostępnione są na licencji " \ - u"Creative Commons Uznanie Autorstwa – Na Tych Samych Warunkach 3.0 PL " \ - u"(http://creativecommons.org/licenses/by-sa/3.0/)" + license_description.append( + "Ten utwór jest w domenie publicznej." + ) + license_description.append( + "Wszystkie materiały dodatkowe (przypisy, motywy literackie) są " + "udostępnione na Licencji Wolnej Sztuki 1.3: " + "https://artlibre.org/licence/lal/pl/\n" + "Fundacja Wolne Lektury zastrzega sobie prawa do wydania " + "krytycznego zgodnie z art. Art.99(2) Ustawy o prawach autorskich " + "i prawach pokrewnych.\nWykorzystując zasoby z Wolnych Lektur, " + "należy pamiętać o zapisach licencji oraz zasadach, które " + "spisaliśmy w Zasadach wykorzystania Wolnych Lektur: " + "https://wolnelektury.pl/info/zasady-wykorzystania/\nZapoznaj " + "się z nimi, zanim udostępnisz dalej nasze książki." + ) + license_description = "\n".join(license_description) source = parsed_dc.source_name if source: source = "\n\nTekst opracowany na podstawie: " + source else: source = '' - - contributors = ', '.join(person.readable() for person in - sorted(set(p for p in (parsed_dc.technical_editors + parsed_dc.editors) if p))) + + contributors = ', '.join( + person.readable() + for person in sorted(set( + p for p in ( + parsed_dc.technical_editors + parsed_dc.editors + ) if p)) + ) if contributors: - contributors = "\n\nOpracowanie redakcyjne i przypisy: %s." % contributors + contributors = ( + "\n\nOpracowanie redakcyjne i przypisy: %s." + % contributors + ) funders = ', '.join(parsed_dc.funders) if funders: - funders = u"\n\nPublikację wsparli i wsparły: %s." % funders + funders = "\n\nPublikację wsparli i wsparły: %s." % funders publisher = '\n\nWydawca: ' + ', '.join(parsed_dc.publisher) isbn = getattr(parsed_dc, 'isbn_txt', None) if isbn: @@ -94,7 +108,8 @@ def transform(wldoc, flags=None, **options): else: isbn = '' else: - description = 'Publikacja zrealizowana w ramach projektu Wolne Lektury (http://wolnelektury.pl).' + description = ("Publikacja zrealizowana w ramach projektu " + "Wolne Lektury (http://wolnelektury.pl).") url = '*' * 10 license_description = "" source = "" @@ -106,7 +121,7 @@ def transform(wldoc, flags=None, **options): 'description': description, 'url': url, 'license_description': license_description, - 'text': six.text_type(result), + 'text': str(result), 'source': source, 'contributors': contributors, 'funders': funders, @@ -114,5 +129,5 @@ def transform(wldoc, flags=None, **options): 'isbn': isbn, }).encode('utf-8') else: - result = six.text_type(result).encode('utf-8') + result = str(result).encode('utf-8') return OutputFile.from_bytes(b"\r\n".join(result.splitlines()) + b"\r\n")