fnp
/
librarian.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Some prelim work on builder api.
[librarian.git]
/
src
/
librarian
/
builders
/
txt.py
diff --git
a/src/librarian/builders/txt.py
b/src/librarian/builders/txt.py
index
8dba4ae
..
69ddbe2
100644
(file)
--- a/
src/librarian/builders/txt.py
+++ b/
src/librarian/builders/txt.py
@@
-1,6
+1,6
@@
-#
coding: utf-8
-from __future__ import unicode_literals
-
+#
This file is part of Librarian, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
+#
import io
from librarian import OutputFile, get_resource
import io
from librarian import OutputFile, get_resource
@@
-15,14
+15,6
@@
class TxtFragment:
self.current_margin = 0
self.starting_block = True
self.current_margin = 0
self.starting_block = True
- def push_legacy_margin(self, margin):
- if margin:
- if self.pieces:
- self.pieces[-1] = self.pieces[-1].rstrip(' ')
- self.pieces.append('\r\n' * margin)
- self.current_margin += margin
- self.starting_block = True
-
def push_margin(self, margin):
if margin:
if self.pieces:
def push_margin(self, margin):
if margin:
if self.pieces:
@@
-45,24
+37,30
@@
class TxtFragment:
class TxtBuilder:
"""
"""
class TxtBuilder:
"""
"""
+ build_method_fn = 'txt_build'
file_extension = "txt"
identifier = "txt"
file_extension = "txt"
identifier = "txt"
+ after_child_fn = 'txt_after_child'
+ debug = False
+ orphans = False
+ normalize_whitespace = True
+
default_license_description = {
"pol": (
"Wszystkie zasoby Wolnych Lektur możesz swobodnie wykorzystywać, "
"publikować i rozpowszechniać pod warunkiem zachowania warunków "
"licencji i zgodnie z Zasadami wykorzystania Wolnych Lektur.\n"
default_license_description = {
"pol": (
"Wszystkie zasoby Wolnych Lektur możesz swobodnie wykorzystywać, "
"publikować i rozpowszechniać pod warunkiem zachowania warunków "
"licencji i zgodnie z Zasadami wykorzystania Wolnych Lektur.\n"
- "Ten utwór jest w domenie publicznej.
"
+ "Ten utwór jest w domenie publicznej.
\n
"
"Wszystkie materiały dodatkowe (przypisy, motywy literackie) są "
"Wszystkie materiały dodatkowe (przypisy, motywy literackie) są "
- "udostępnione na Licencji Wolnej Sztuki 1.3 "
- "
(https://artlibre.org/licence/lal/pl/).
\n"
- "Fundacja
Nowoczesna Polska
zastrzega sobie prawa do wydania "
+ "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 "
"krytycznego zgodnie z art. Art.99(2) Ustawy o prawach autorskich "
- "i prawach pokrewnych.
Wykorzystując zasoby z Wolnych Lektur, "
+ "i prawach pokrewnych.
\n
Wykorzystując zasoby z Wolnych Lektur, "
"należy pamiętać o zapisach licencji oraz zasadach, które "
"należy pamiętać o zapisach licencji oraz zasadach, które "
- "spisaliśmy w Zasadach wykorzystania Wolnych Lektur "
- "
(https://wolnelektury.pl/info/zasady-wykorzystania/).
Zapoznaj "
+ "spisaliśmy w Zasadach wykorzystania Wolnych Lektur
:
"
+ "
https://wolnelektury.pl/info/zasady-wykorzystania/\n
Zapoznaj "
"się z nimi, zanim udostępnisz dalej nasze książki."
)
}
"się z nimi, zanim udostępnisz dalej nasze książki."
)
}
@@
-74,19
+72,19
@@
class TxtBuilder:
"licencji i zgodnie z Zasadami wykorzystania Wolnych Lektur.\n"
"Ten utwór jest jest udostępniony na licencji {meta.license_description} ({meta.license}). "
"Wszystkie materiały dodatkowe (przypisy, motywy literackie) są "
"licencji i zgodnie z Zasadami wykorzystania Wolnych Lektur.\n"
"Ten utwór jest jest udostępniony na licencji {meta.license_description} ({meta.license}). "
"Wszystkie materiały dodatkowe (przypisy, motywy literackie) są "
- "udostępnione na Licencji Wolnej Sztuki 1.3 "
- "
(https://artlibre.org/licence/lal/pl/).
\n"
- "Fundacja
Nowoczesna Polska
zastrzega sobie prawa do wydania "
+ "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 "
"krytycznego zgodnie z art. Art.99(2) Ustawy o prawach autorskich "
- "i prawach pokrewnych.
Wykorzystując zasoby z Wolnych Lektur, "
+ "i prawach pokrewnych.
\n
Wykorzystując zasoby z Wolnych Lektur, "
"należy pamiętać o zapisach licencji oraz zasadach, które "
"należy pamiętać o zapisach licencji oraz zasadach, które "
- "spisaliśmy w Zasadach wykorzystania Wolnych Lektur "
- "
(https://wolnelektury.pl/info/zasady-wykorzystania/).
Zapoznaj "
+ "spisaliśmy w Zasadach wykorzystania Wolnych Lektur
:
"
+ "
https://wolnelektury.pl/info/zasady-wykorzystania/\n
Zapoznaj "
"się z nimi, zanim udostępnisz dalej nasze książki."
)
}
"się z nimi, zanim udostępnisz dalej nasze książki."
)
}
- def __init__(self):
+ def __init__(self
, base_url=None
):
self.fragments = {
None: TxtFragment(),
'header': TxtFragment()
self.fragments = {
None: TxtFragment(),
'header': TxtFragment()
@@
-105,9
+103,6
@@
class TxtBuilder:
def push_margin(self, margin):
self.current_fragments[-1].push_margin(margin)
def push_margin(self, margin):
self.current_fragments[-1].push_margin(margin)
- def push_legacy_margin(self, margin, where=None):
- self.current_fragments[-1].push_legacy_margin(margin)
-
def build(self, document, raw_text=False, **kwargs):
document.tree.getroot().txt_build(self)
meta = document.meta
def build(self, document, raw_text=False, **kwargs):
document.tree.getroot().txt_build(self)
meta = document.meta
@@
-121,27
+116,26
@@
class TxtBuilder:
for translator in meta.translators
)
)
for translator in meta.translators
)
)
- #builder.push_margin(2)
- self.push_legacy_margin(1)
+ self.push_margin(2)
if meta.isbn_txt:
if meta.isbn_txt:
- #builder.push_margin(2)
- self.push_legacy_margin(1)
+ self.push_margin(2)
isbn = meta.isbn_txt
if isbn.startswith(('ISBN-' , 'ISBN ')):
isbn = isbn[5:]
self.push_text('ISBN {isbn}'.format(isbn=isbn))
#builder.push_margin(5)
isbn = meta.isbn_txt
if isbn.startswith(('ISBN-' , 'ISBN ')):
isbn = isbn[5:]
self.push_text('ISBN {isbn}'.format(isbn=isbn))
#builder.push_margin(5)
- #builder.push_margin(4)
- self.push_legacy_margin(1)
+ self.push_margin(4)
self.exit_fragment()
self.exit_fragment()
- text = ''.join(self.fragments[
'header'].pieces) + ''.join(self.fragments[None].pieces
)
+ text = ''.join(self.fragments[
None].pieces).lstrip(
)
if raw_text:
result = text
else:
if raw_text:
result = text
else:
+ text = ''.join(self.fragments['header'].pieces) + text
+
if meta.license:
license_description = self.license_description['pol'].format(meta=meta)
else:
if meta.license:
license_description = self.license_description['pol'].format(meta=meta)
else:
@@
-167,7
+161,7
@@
class TxtBuilder:
funders = ', '.join(meta.funders)
if funders:
funders = ', '.join(meta.funders)
if funders:
- funders =
u
"\n\nPublikację wsparli i wsparły: %s." % funders
+ funders = "\n\nPublikację wsparli i wsparły: %s." % funders
isbn = getattr(meta, 'isbn_txt', None)
if isbn:
isbn = getattr(meta, 'isbn_txt', None)
if isbn: