fix parent PDF creation, add test
authorRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Wed, 12 Oct 2011 08:32:22 +0000 (10:32 +0200)
committerRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Wed, 12 Oct 2011 08:32:22 +0000 (10:32 +0200)
apps/catalogue/tests/book_import.py
apps/catalogue/tests/but-w-butonierce-but-w-butonierce.xml [deleted file]
apps/catalogue/tests/files/fraszka-do-anusie.xml [new file with mode: 0755]
apps/catalogue/tests/files/fraszki.xml [new file with mode: 0755]
apps/catalogue/tests/fraszka-do-anusie.xml [deleted file]
apps/catalogue/utils.py

index 29be731..66487d8 100644 (file)
@@ -236,32 +236,16 @@ class ChildImportTests(WLTestCase):
 class BookImportGenerateTest(WLTestCase):
     def setUp(self):
         WLTestCase.setUp(self)
-        self.book_info = BookInfoStub(
-            url=u"http://wolnelektury.pl/example/default-book",
-            about=u"http://wolnelektury.pl/example/URI/default_book",
-            title=u"Default Book",
-            author=PersonStub(("Jim",), "Lazy"),
-            kind="X-Kind",
-            genre="X-Genre",
-            epoch="X-Epoch",
-        )
-
-        self.expected_tags = [
-           ('author', 'jim-lazy'),
-           ('genre', 'x-genre'),
-           ('epoch', 'x-epoch'),
-           ('kind', 'x-kind'),
-        ]
-        self.expected_tags.sort()
+        input = path.join(path.dirname(__file__), 'files/fraszka-do-anusie.xml')
+        self.book = models.Book.from_xml_file(input)
 
     def test_gen_pdf(self):
-        input = open(path.dirname(__file__) + '/but-w-butonierce-but-w-butonierce.xml')
-        book = models.Book.from_text_and_meta(File(input), self.book_info, overwrite=True)
-        book.build_pdf()
-        self.assertTrue(path.exists(book.pdf_file.path))
-
-    def test_gen_pdf_child(self):
-        input = open(path.dirname(__file__) + "/fraszka-do-anusie.xml")
-        book = models.Book.from_text_and_meta(File(input), self.book_info, overwrite=True)
-        book.build_pdf()
-        self.assertTrue(path.exists(book.pdf_file.path))
+        self.book.build_pdf()
+        self.assertTrue(path.exists(self.book.pdf_file.path))
+
+    def test_gen_pdf_parent(self):
+        """This book contains a child."""
+        input = path.join(path.dirname(__file__), "files/fraszki.xml")
+        parent = models.Book.from_xml_file(input)
+        parent.build_pdf()
+        self.assertTrue(path.exists(parent.pdf_file.path))
diff --git a/apps/catalogue/tests/but-w-butonierce-but-w-butonierce.xml b/apps/catalogue/tests/but-w-butonierce-but-w-butonierce.xml
deleted file mode 100755 (executable)
index 8b52add..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-<utwor><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:dc="http://purl.org/dc/elements/1.1/">
-<rdf:Description rdf:about="http://wiki.wolnepodreczniki.pl/Lektury:Jasie%C5%84ski/But/But_w_butonierce">
-<dc:creator xml:lang="pl">Jasieński, Bruno</dc:creator>
-<dc:title xml:lang="pl">But w butonierce</dc:title>
-<dc:relation.isPartOf xml:lang="pl">http://wolnelektury.pl/katalog/lektura/but-w-butonierce</dc:relation.isPartOf>
-<dc:contributor.editor xml:lang="pl">Sekuła, Aleksandra</dc:contributor.editor>
-<dc:contributor.technical_editor xml:lang="pl">Sutkowska, Olga</dc:contributor.technical_editor>
-<dc:publisher xml:lang="pl">Fundacja Nowoczesna Polska</dc:publisher>
-<dc:subject.period xml:lang="pl">Dwudziestolecie międzywojenne</dc:subject.period>
-<dc:subject.type xml:lang="pl">Liryka</dc:subject.type>
-<dc:subject.genre xml:lang="pl">Wiersz sylabotoniczny</dc:subject.genre>
-<dc:description xml:lang="pl">Publikacja zrealizowana w ramach projektu Wolne Lektury (http://wolnelektury.pl). Reprodukcja cyfrowa wykonana przez Bibliotekę Narodową z egzemplarza pochodzącego ze zbiorów BN.</dc:description>
-<dc:identifier.url xml:lang="pl">http://wolnelektury.pl/katalog/lektura/but-w-butonierce-but-w-butonierce</dc:identifier.url>
-<dc:source.URL xml:lang="pl">http://www.polona.pl/Content/14667/27384_But_w_butoni.html</dc:source.URL>
-<dc:source xml:lang="pl">Jasieński, Bruno (1901-1938), But w butonierce, Klub Futurystów "Katarynka", Warszawa, 1921</dc:source>
-<dc:rights xml:lang="pl">Domena publiczna - Bruno Jasieński zm. 1938</dc:rights>
-<dc:date.pd xml:lang="pl">1938</dc:date.pd>
-<dc:format xml:lang="pl">xml</dc:format>
-<dc:type xml:lang="pl">text</dc:type>
-<dc:type xml:lang="en">text</dc:type>
-<dc:date xml:lang="pl">2009-02-23</dc:date>
-<dc:audience xml:lang="pl">L</dc:audience>
-<dc:language xml:lang="pl">pol</dc:language>
-</rdf:Description>
-</rdf:RDF><liryka_l>
-
-<autor_utworu>Bruno Jasieński</autor_utworu>
-
-<dzielo_nadrzedne>But w butonierce</dzielo_nadrzedne>
-
-<nazwa_utworu>But w butonierce</nazwa_utworu>
-
-
-
-<strofa>Zmarnowałem podeszwy w całodziennych spieszeniach,/
-Teraz jestem słoneczny, siebiepewny i rad./
-Idę młody, genialny, trzymam ręce w kieszeniach,/
-Stawiam kroki milowe, zamaszyste, jak świat.</strofa>
-
-<strofa>Nie zatrzymam się nigdzie na rozstajach, na wiorstach,/
-Bo mnie niesie coś wiecznie, motorycznie i przed./
-Mijam strachy na wróble w eleganckich windhorstach,/
-Wszystkim kłaniam się grzecznie i poprawiam im pled.</strofa>
-
-<strofa>W parkocieniu krokietni --- jakiś meeting panieński./
-Dyskutują o sztuce, objawiając swój traf./
-One jeszcze nie wiedzą, że, gdy nastał Jasieński,/
-Bezpowrotnie umarli i Tetmajer i Staff.</strofa>
-
-<strofa>One jeszcze nie wiedzą, one jeszcze nie wierzą./
-Poezyjność, futuryzm --- niewiadoma i X./
-Chodźmy biegać, panienki, niech się główki oświeżą, ---/
-Będzie lepiej smakować poobiedni jour-fixe.</strofa>
-
-<strofa>Przeleciało gdzieś auto w białych kłębach benzyny,/
-Zafurkotał na wietrze trzepocący się szal./
-Pojechała mi bajka poza góry doliny/
-I nic jakoś mi nie żal, a powinno być żal...</strofa>
-
-<strofa>Tak mi dobrze, tak mojo, aż rechoce się serce./
-Same nogi mnie niosą gdzieś --- i po co mi, gdzie?/
-Idę młody, genialny, niosę BUT W BUTONIERCE<extra>wersaliki</extra>,/
-Tym co za mną nie zdążą echopowiem: --- Adieu! ---</strofa>
-
-</liryka_l></utwor>
diff --git a/apps/catalogue/tests/files/fraszka-do-anusie.xml b/apps/catalogue/tests/files/fraszka-do-anusie.xml
new file mode 100755 (executable)
index 0000000..3bbda15
--- /dev/null
@@ -0,0 +1,49 @@
+<?xml version='1.0' encoding='utf-8'?>
+<utwor>
+  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+<rdf:Description rdf:about="http://wiki.wolnepodreczniki.pl/index.php?title=Lektury:S%C4%99p-Szarzy%C5%84ski/Rytmy/Fraszka_do_Anusie">
+<dc:creator xml:lang="pl">Sęp Szarzyński, Mikołaj</dc:creator>
+<dc:title xml:lang="pl">Fraszka do Anusie</dc:title>
+<dc:contributor.editor xml:lang="pl">Sekuła, Aleksandra</dc:contributor.editor>
+<dc:contributor.technical_editor xml:lang="pl">Sutkowska, Olga</dc:contributor.technical_editor>
+<dc:publisher xml:lang="pl">Fundacja Nowoczesna Polska</dc:publisher>
+<dc:subject.period xml:lang="pl">Barok</dc:subject.period>
+<dc:subject.type xml:lang="pl">Liryka</dc:subject.type>
+<dc:subject.genre xml:lang="pl">Fraszka</dc:subject.genre>
+<dc:description xml:lang="pl">Publikacja zrealizowana w ramach projektu Wolne Lektury (http://wolnelektury.pl). Reprodukcja cyfrowa wykonana przez Bibliotekę Narodową z egzemplarza pochodzącego ze zbiorów BN.</dc:description>
+<dc:identifier.url xml:lang="pl">http://wolnelektury.pl/katalog/lektura/fraszka-do-anusie</dc:identifier.url>
+<dc:source.URL xml:lang="pl">http://www.polona.pl/Content/8759</dc:source.URL>
+<dc:source xml:lang="pl">Szarzyński Sęp, Mikołaj (ca 1550-1581), Rytmy abo Wiersze polskie w wyborze, E. Wende, Warszawa, 1914</dc:source>
+<dc:rights xml:lang="pl">Domena publiczna - Mikołaj Sęp Szarzyński zm. 1581</dc:rights>
+<dc:date.pd xml:lang="pl">1581</dc:date.pd>
+<dc:format xml:lang="pl">xml</dc:format>
+<dc:type xml:lang="pl">text</dc:type>
+<dc:type xml:lang="en">text</dc:type>
+<dc:date xml:lang="pl">2008-12-29</dc:date>
+<dc:audience xml:lang="pl">L</dc:audience>
+<dc:audience xml:lang="pl">L</dc:audience>
+<dc:language xml:lang="pl">pol</dc:language>
+</rdf:Description>
+</rdf:RDF>
+  <liryka_l>
+
+<autor_utworu>Mikołaj Sęp Szarzyński</autor_utworu>
+
+<nazwa_utworu>Fraszka do Anusie</nazwa_utworu>
+
+
+
+<strofa><begin id="b1230084410751"/><motyw id="m1230084410751">Kochanek, Łzy, Miłość, Oko, Serce, Wzrok</motyw>Jeśli oczu hamować swoich nie umiały/
+Leśnych krynic boginie, aby nie płakały,/
+Gdy baczyły<pe><slowo_obce>baczyły</slowo_obce> --- tu: zobaczyły, patrzyły na.</pe> przy studni Narcyza pięknego,/
+A on umarł prze miłość oblicza swojego;/
+Jeśli nieśmiertelnym stanom żałość rozkazuje,/
+Gdy niebaczna fortuna co niesłusznie psuje:</strofa>
+
+<strofa>Jakoż ja mam hamować, by na lice moje/
+Z oczu smutnych żałośne nie płynęły zdroje?/
+Jako serce powściągać, aby nie wzdychało/
+I od ciężkiej żałości omdlewać nie miało?<end id="e1230084410751"/></strofa>
+
+</liryka_l>
+</utwor>
diff --git a/apps/catalogue/tests/files/fraszki.xml b/apps/catalogue/tests/files/fraszki.xml
new file mode 100755 (executable)
index 0000000..edb29ab
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='utf-8'?>
+<utwor>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+<rdf:Description rdf:about="">
+<dc:creator xml:lang="pl">Kochanowski, Jan</dc:creator>
+<dc:title xml:lang="pl">Fraszki</dc:title>
+<dc:relation.hasPart xml:lang="pl">http://wolnelektury.pl/katalog/lektura/fraszka-do-anusie</dc:relation.hasPart>
+
+<dc:publisher xml:lang="pl">Fundacja Nowoczesna Polska</dc:publisher>
+<dc:subject.period xml:lang="pl">Renesans</dc:subject.period>
+<dc:subject.type xml:lang="pl">Liryka</dc:subject.type>
+<dc:subject.genre xml:lang="pl">Fraszka</dc:subject.genre>
+
+<dc:description xml:lang="pl"></dc:description>
+<dc:identifier.url xml:lang="pl">http://wolnelektury.pl/lektura/fraszki</dc:identifier.url>
+<dc:source xml:lang="pl"></dc:source>
+<dc:rights xml:lang="pl">Domena publiczna - Jan Kochanowski zm. 1584</dc:rights>
+<dc:date.pd xml:lang="pl">1584</dc:date.pd>
+<dc:format xml:lang="pl">xml</dc:format>
+<dc:type xml:lang="pl">text</dc:type>
+
+<dc:type xml:lang="en">text</dc:type>
+<dc:date xml:lang="pl">2008-11-12</dc:date>
+<dc:language xml:lang="pl">pol</dc:language>
+</rdf:Description>
+</rdf:RDF>
+</utwor>
diff --git a/apps/catalogue/tests/fraszka-do-anusie.xml b/apps/catalogue/tests/fraszka-do-anusie.xml
deleted file mode 100755 (executable)
index 3bbda15..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-<utwor>
-  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
-<rdf:Description rdf:about="http://wiki.wolnepodreczniki.pl/index.php?title=Lektury:S%C4%99p-Szarzy%C5%84ski/Rytmy/Fraszka_do_Anusie">
-<dc:creator xml:lang="pl">Sęp Szarzyński, Mikołaj</dc:creator>
-<dc:title xml:lang="pl">Fraszka do Anusie</dc:title>
-<dc:contributor.editor xml:lang="pl">Sekuła, Aleksandra</dc:contributor.editor>
-<dc:contributor.technical_editor xml:lang="pl">Sutkowska, Olga</dc:contributor.technical_editor>
-<dc:publisher xml:lang="pl">Fundacja Nowoczesna Polska</dc:publisher>
-<dc:subject.period xml:lang="pl">Barok</dc:subject.period>
-<dc:subject.type xml:lang="pl">Liryka</dc:subject.type>
-<dc:subject.genre xml:lang="pl">Fraszka</dc:subject.genre>
-<dc:description xml:lang="pl">Publikacja zrealizowana w ramach projektu Wolne Lektury (http://wolnelektury.pl). Reprodukcja cyfrowa wykonana przez Bibliotekę Narodową z egzemplarza pochodzącego ze zbiorów BN.</dc:description>
-<dc:identifier.url xml:lang="pl">http://wolnelektury.pl/katalog/lektura/fraszka-do-anusie</dc:identifier.url>
-<dc:source.URL xml:lang="pl">http://www.polona.pl/Content/8759</dc:source.URL>
-<dc:source xml:lang="pl">Szarzyński Sęp, Mikołaj (ca 1550-1581), Rytmy abo Wiersze polskie w wyborze, E. Wende, Warszawa, 1914</dc:source>
-<dc:rights xml:lang="pl">Domena publiczna - Mikołaj Sęp Szarzyński zm. 1581</dc:rights>
-<dc:date.pd xml:lang="pl">1581</dc:date.pd>
-<dc:format xml:lang="pl">xml</dc:format>
-<dc:type xml:lang="pl">text</dc:type>
-<dc:type xml:lang="en">text</dc:type>
-<dc:date xml:lang="pl">2008-12-29</dc:date>
-<dc:audience xml:lang="pl">L</dc:audience>
-<dc:audience xml:lang="pl">L</dc:audience>
-<dc:language xml:lang="pl">pol</dc:language>
-</rdf:Description>
-</rdf:RDF>
-  <liryka_l>
-
-<autor_utworu>Mikołaj Sęp Szarzyński</autor_utworu>
-
-<nazwa_utworu>Fraszka do Anusie</nazwa_utworu>
-
-
-
-<strofa><begin id="b1230084410751"/><motyw id="m1230084410751">Kochanek, Łzy, Miłość, Oko, Serce, Wzrok</motyw>Jeśli oczu hamować swoich nie umiały/
-Leśnych krynic boginie, aby nie płakały,/
-Gdy baczyły<pe><slowo_obce>baczyły</slowo_obce> --- tu: zobaczyły, patrzyły na.</pe> przy studni Narcyza pięknego,/
-A on umarł prze miłość oblicza swojego;/
-Jeśli nieśmiertelnym stanom żałość rozkazuje,/
-Gdy niebaczna fortuna co niesłusznie psuje:</strofa>
-
-<strofa>Jakoż ja mam hamować, by na lice moje/
-Z oczu smutnych żałośne nie płynęły zdroje?/
-Jako serce powściągać, aby nie wzdychało/
-I od ciężkiej żałości omdlewać nie miało?<end id="e1230084410751"/></strofa>
-
-</liryka_l>
-</utwor>
index 02e5b6d..368f96d 100644 (file)
@@ -49,13 +49,13 @@ class ExistingFile(UploadedFile):
 
 
 class BookImportDocProvider(DocProvider):
-    """ used for joined EPUBs """
+    """Used for joined EPUB and PDF files."""
 
     def __init__(self, book):
         self.book = book
-        
+
     def by_slug(self, slug):
         if slug == self.book.slug:
             return self.book.xml_file
         else:
-            return Book.objects.get(slug=slug).xml_file
+            return type(self.book).objects.get(slug=slug).xml_file