Remove DateValue, drop Py<3.6, fix tests.
[librarian.git] / src / librarian / builders / epub.py
index 401136f..8544846 100644 (file)
@@ -11,8 +11,6 @@ import librarian.epub
 from librarian.fonts import strip_font
 
 
-
-
 class Xhtml:
     def __init__(self):
         self.element = etree.XML('''<html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" href="style.css" type="text/css"/><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>WolneLektury.pl</title></head><body/></html>''')
@@ -61,8 +59,6 @@ class Builder:
     def forget_fragment(self, name):
         del self.cursors[name]
 
-
-
     @property
     def base_url(self):
         if self._base_url is not None:
@@ -80,6 +76,7 @@ class Builder:
 class EpubBuilder(Builder):
     file_extension = 'epub'
     isbn_field = 'isbn_epub'
+    orphans = True
 
     def __init__(self, *args, **kwargs):
         self.chars = set()
@@ -303,6 +300,7 @@ class EpubBuilder(Builder):
 
     def add_toc(self):
         item = epub.EpubNav()
+        item.add_link(href='style.css', rel='stylesheet', type='text/css')
         self.output.add_item(item)
         self.output.spine.append(item)
         self.output.add_item(epub.EpubNcx())
@@ -530,27 +528,46 @@ class EpubBuilder(Builder):
         newp = lambda: etree.SubElement(d, 'p', {'class': 'info'})
 
         p = newp()
+        p.text = (
+            "Wszystkie zasoby Wolnych Lektur możesz swobodnie wykorzystywać, "
+            "publikować i rozpowszechniać pod warunkiem zachowania warunków "
+            "licencji i zgodnie z "
+        )
+        a = etree.SubElement(p, "a", href="https://wolnelektury.pl/info/zasady-wykorzystania/")
+        a.text = "Zasadami wykorzystania Wolnych Lektur"
+        a.tail = "."
+
+        etree.SubElement(p, "br")
+        
+
         if m.license:
-            p.text = """
-                      Ten utwór jest udostępniony na licencji
-                      """
+            p[-1].tail = "Ten utwór jest udostępniony na licencji "
             etree.SubElement(p, 'a', href=m.license).text = m.license_description
         else:
-            p.text = """
-                    Ten utwór nie jest objęty majątkowym prawem autorskim i znajduje się w domenie
-                    publicznej, co oznacza że możesz go swobodnie wykorzystywać, publikować
-                    i rozpowszechniać. Jeśli utwór opatrzony jest dodatkowymi materiałami
-                    (przypisy, motywy literackie etc.), które podlegają prawu autorskiemu, to
-                    te dodatkowe materiały udostępnione są na licencji
-                    """
-            a = etree.SubElement(p, "a", href="http://creativecommons.org/licenses/by-sa/3.0/")
-            a.text = """Creative Commons
-                    Uznanie Autorstwa – Na Tych Samych Warunkach 3.0 PL"""
-            a.tail = "."
+            p[-1].tail = 'Ten utwór jest w domenie publicznej.'
+
+        etree.SubElement(p, "br")
+        
+        p[-1].tail = (
+            "Wszystkie materiały dodatkowe (przypisy, motywy literackie) są "
+            "udostępnione na "
+            )
+        etree.SubElement(p, 'a', href='https://artlibre.org/licence/lal/pl/').text = 'Licencji Wolnej Sztuki 1.3'
+        p[-1].tail = '.'
+        etree.SubElement(p, "br")
+        p[-1].tail = (
+            "Fundacja Nowoczesna Polska zastrzega sobie prawa do wydania "
+            "krytycznego zgodnie z art. Art.99(2) Ustawy o prawach autorskich "
+            "i prawach pokrewnych. Wykorzystując zasoby z Wolnych Lektur, "
+            "należy pamiętać o zapisach licencji oraz zasadach, które "
+            "spisaliśmy w "
+        )
 
+        etree.SubElement(p, 'a', href='https://wolnelektury.pl/info/zasady-wykorzystania/').text = 'Zasadach wykorzystania Wolnych Lektur'
+        p[-1].tail = '. Zapoznaj się z nimi, zanim udostępnisz dalej nasze książki.'
 
         p = newp()
-        p.text = 'Źródło: '
+        p.text = 'E-book można pobrać ze strony: '
         etree.SubElement(
             p, 'a', href=str(m.url),
             title=', '.join((