New epub.
authorRadek Czajka <rczajka@rczajka.pl>
Thu, 8 Jul 2021 08:53:45 +0000 (10:53 +0200)
committerRadek Czajka <rczajka@rczajka.pl>
Thu, 8 Jul 2021 08:53:45 +0000 (10:53 +0200)
src/librarian/builders/epub.py
src/librarian/elements/headers/naglowek_podrozdzial.py
src/librarian/epub.py
src/librarian/fundraising.py [deleted file]

index 91405c3..167b8cd 100644 (file)
@@ -9,7 +9,6 @@ from librarian.cover import make_cover
 from librarian.embeds.mathml import MathML
 import librarian.epub
 from librarian.fonts import strip_font
 from librarian.embeds.mathml import MathML
 import librarian.epub
 from librarian.fonts import strip_font
-from librarian.fundraising import FUNDRAISING
 
 
 
 
 
 
@@ -30,8 +29,9 @@ class Xhtml:
 class Builder:
     file_extension = None
 
 class Builder:
     file_extension = None
 
-    def __init__(self, base_url=None):
+    def __init__(self, base_url=None, fundraising=None):
         self._base_url = base_url or 'file:///home/rczajka/for/fnp/librarian/temp~/maly/img/'
         self._base_url = base_url or 'file:///home/rczajka/for/fnp/librarian/temp~/maly/img/'
+        self.fundraising = fundraising
         self.footnotes = etree.Element('div', id='footnotes')
 
         self.cursors = {
         self.footnotes = etree.Element('div', id='footnotes')
 
         self.cursors = {
@@ -140,21 +140,21 @@ class EpubBuilder(Builder):
         self.add_support_page()
         self.add_last_page()
 
         self.add_support_page()
         self.add_last_page()
 
+        if self.fundraising:
+            e = len(self.output.spine) - 3 - 3
+            nfunds = len(self.fundraising)
+            if e > 4 * nfunds:
+                nfunds *= 2
 
 
-        e = len(self.output.spine) - 3 - 3
-        nfunds = len(FUNDRAISING)
-        if e > 16:
-            nfunds *= 2
+            # COUNTING CHARACTERS?
+            for f in range(nfunds):
+                spine_index = int(4 + (f / nfunds * e) + f)
 
 
-        # COUNTING CHARACTERS?
-        for f in range(nfunds):
-            spine_index = int(4 + (f / nfunds * e) + f)
-
-            h = Xhtml()
-            h.body.append(
-                etree.XML('<div id="book-text"><div class="fundraising">' + FUNDRAISING[f % len(FUNDRAISING)] + '</div></div>')
-            )
-            self.add_html(h.element, file_name='fund%d.xhtml' % f, spine=spine_index)
+                h = Xhtml()
+                h.body.append(
+                    etree.XML('<div id="book-text"><div class="fundraising">' + self.fundraising[f % len(self.fundraising)] + '</div></div>')
+                )
+                self.add_html(h.element, file_name='fund%d.xhtml' % f, spine=spine_index)
 
         self.add_fonts()
 
 
         self.add_fonts()
 
@@ -202,7 +202,7 @@ class EpubBuilder(Builder):
     def add_title_page(self):
         html = Xhtml()
         html.title.text = "Strona tytułowa"
     def add_title_page(self):
         html = Xhtml()
         html.title.text = "Strona tytułowa"
-        bt = etree.SubElement(html.body, 'div', **{'class': 'book-text'})
+        bt = etree.SubElement(html.body, 'div', **{'id': 'book-text'})
         tp = etree.SubElement(bt, 'div', **{'class': 'title-page'})
 
         # Tak jak jest teraz – czy może być jednocześnie
         tp = etree.SubElement(bt, 'div', **{'class': 'title-page'})
 
         # Tak jak jest teraz – czy może być jednocześnie
@@ -389,8 +389,6 @@ class EpubBuilder(Builder):
             
         
     def add_fonts(self):
             
         
     def add_fonts(self):
-        print("".join(sorted(self.chars)))
-        # TODO: optimizer
         for fname in ('DejaVuSerif.ttf', 'DejaVuSerif-Bold.ttf',
                       'DejaVuSerif-Italic.ttf', 'DejaVuSerif-BoldItalic.ttf'):
             self.add_file(
         for fname in ('DejaVuSerif.ttf', 'DejaVuSerif-Bold.ttf',
                       'DejaVuSerif-Italic.ttf', 'DejaVuSerif-BoldItalic.ttf'):
             self.add_file(
@@ -673,7 +671,7 @@ class EpubBuilder(Builder):
 </html>''' % cover.ext()).encode('utf-8')
         self.add_file(file_name='cover.xhtml', content=ci)
 
 </html>''' % cover.ext()).encode('utf-8')
         self.add_file(file_name='cover.xhtml', content=ci)
 
-        self.output.spine.append('cover')
+        self.output.spine.append(('cover', 'no'))
         self.output.guide.append({
             'type': 'cover',
             'href': 'cover.xhtml',
         self.output.guide.append({
             'type': 'cover',
             'href': 'cover.xhtml',
index 1cea01c..ee338eb 100644 (file)
@@ -2,9 +2,14 @@ from ..base import WLElement
 
 
 class NaglowekPodrozdzial(WLElement):
 
 
 class NaglowekPodrozdzial(WLElement):
+    SECTION_PRECEDENCE = 3
+
     TXT_TOP_MARGIN = 3
     TXT_BOTTOM_MARGIN = 2
     TXT_LEGACY_TOP_MARGIN = 3
     TXT_LEGACY_BOTTOM_MARGIN = 0
 
     HTML_TAG = "h4"
     TXT_TOP_MARGIN = 3
     TXT_BOTTOM_MARGIN = 2
     TXT_LEGACY_TOP_MARGIN = 3
     TXT_LEGACY_BOTTOM_MARGIN = 0
 
     HTML_TAG = "h4"
+
+    EPUB_TAG = "h2"
+    EPUB_CLASS = "h4"
index 0fb91e5..a3931b5 100644 (file)
@@ -772,7 +772,6 @@ def transform(wldoc, verbose=False, style=None,
             os.chdir(cwd)
 
     remove_empty_lists_from_toc(output.toc)
             os.chdir(cwd)
 
     remove_empty_lists_from_toc(output.toc)
-    print(output.toc)
 
     output_file = NamedTemporaryFile(prefix='librarian', suffix='.epub',
                                      delete=False)
 
     output_file = NamedTemporaryFile(prefix='librarian', suffix='.epub',
                                      delete=False)
diff --git a/src/librarian/fundraising.py b/src/librarian/fundraising.py
deleted file mode 100644 (file)
index 18d7774..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-FUNDRAISING = [
-        'Przyjaciele Wolnych Lektur otrzymują dostęp do nowych tekstów współczesnych autorek i autorów wcześniej niż inni. <a href="https://wolnelektury.pl/towarzystwo/">Kliknij, by przejść do strony płatności.</a> Zadeklaruj stałą wpłatę i dołącz do Towarzystwa Przyjaciół Wolnych Lektur.',
-        'Czytaj teksty współczesnych autorek i autorów wcześniej niż inni. Ty decydujesz, ile płacisz! <a href="https://wolnelektury.pl/towarzystwo/">Zadeklaruj stałą wpłatę i dołącz do Towarzystwa Przyjaciół Wolnych Lektur</a>.',
-        'Informacje o nowościach w naszej bibliotece w Twojej skrzynce mailowej? Nic prostszego, zapisz się do newslettera.<br/><a href="https://wolnelektury.pl/newsletter/">Kliknij, by pozostawić swój adres e-mail</a>.',
-        '''Przekaż 1% podatku na Wolne Lektury.<br/>
-KRS: 0000070056<br/>
-Nazwa organizacji: Fundacja Nowoczesna Polska<br/>
-<br/>
-Możesz to zrobić w swoim formularzu PIT dostępnym od 15 lutego na stronie: <a href="https://www.podatki.gov.pl/pit">www.podatki.gov.pl/pit</a>.<br/>
-<br/>
-Każda wpłacona kwota zostanie przeznaczona na rozwój Wolnych Lektur.<br/>
-Dziękujemy, że jesteście z nami!''',
-]