Fix verse numbering.
authorRadek Czajka <rczajka@rczajka.pl>
Thu, 28 May 2020 15:12:32 +0000 (17:12 +0200)
committerRadek Czajka <rczajka@rczajka.pl>
Thu, 28 May 2020 15:12:32 +0000 (17:12 +0200)
librarian/html.py
tests/files/text/asnyk_miedzy_nami_expected.html
tests/files/text/asnyk_miedzy_nami_fragments.html
tests/test_html.py
tests/test_html_fragments.py
tox.ini

index 096e399..f8e4a83 100644 (file)
@@ -239,7 +239,7 @@ def add_anchors(root):
         if any_ancestor(element, f):
             continue
 
         if any_ancestor(element, f):
             continue
 
-        if element.tag == 'p' and 'verse' in element.get('class', ''):
+        if element.tag == 'div' and 'verse' in element.get('class', ''):
             if counter == 1 or counter % 5 == 0:
                 add_anchor(element, "f%d" % counter, link_text=counter)
             counter += 1
             if counter == 1 or counter % 5 == 0:
                 add_anchor(element, "f%d" % counter, link_text=counter)
             counter += 1
index 24285f1..dce71bb 100644 (file)
 <span class="author">Adam Asnyk</span><span class="title"><a name="m1189062500041" class="theme-begin" fid="1189062500041">Miłość platoniczna</a>Między nami nic nie było</span>
 </h1>
 <a name="m1189062500041" class="theme-begin" fid="1189062500041">Miłość platoniczna</a><div class="stanza">
 <span class="author">Adam Asnyk</span><span class="title"><a name="m1189062500041" class="theme-begin" fid="1189062500041">Miłość platoniczna</a>Między nami nic nie było</span>
 </h1>
 <a name="m1189062500041" class="theme-begin" fid="1189062500041">Miłość platoniczna</a><div class="stanza">
-<a name="sec4"></a><a name="f1" class="target"> </a><a href="#f1" class="anchor">1</a><p class="verse">Między nami <a name="m1" class="theme-begin" fid="1">Nicość</a>nic nie było!<span class="theme-end" fid="1"></span></p>
-<p class="verse">Żadnych zwierzeń, wyznań żadnych!</p>
-<p class="verse">Nic nas z sobą nie łączyło —</p>
-<p class="verse">Prócz wiosennych marzeń zdradnych;</p>
+<a name="sec4"></a><a name="f1" class="target"> </a><a href="#f1" class="anchor">1</a><div class="verse">Między nami <a name="m1" class="theme-begin" fid="1">Nicość</a>nic nie było!<span class="theme-end" fid="1"></span>
+</div>
+<div class="verse">Żadnych zwierzeń, wyznań żadnych!</div>
+<div class="verse">Nic nas z sobą nie łączyło —</div>
+<div class="verse">Prócz wiosennych marzeń zdradnych;</div>
 </div>
 <div class="stanza">
 </div>
 <div class="stanza">
-<a name="sec5"></a><a name="f5" class="target"> </a><a href="#f5" class="anchor">5</a><p class="verse"><a name="m1189062528872" class="theme-begin" fid="1189062528872">Natura</a>Prócz tych woni, barw i blasków,</p>
-<p class="verse">Unoszących się w przestrzeni;</p>
-<p class="verse">Prócz szumiących śpiewem lasków</p>
-<p class="verse">I tej świeżej łąk zieleni;</p>
+<a name="sec5"></a><a name="f5" class="target"> </a><a href="#f5" class="anchor">5</a><div class="verse">
+<a name="m1189062528872" class="theme-begin" fid="1189062528872">Natura</a>Prócz tych woni, barw i blasków,</div>
+<div class="verse">Unoszących się w przestrzeni;</div>
+<div class="verse">Prócz szumiących śpiewem lasków</div>
+<div class="verse">I tej świeżej łąk zieleni;</div>
 </div>
 <div class="stanza">
 </div>
 <div class="stanza">
-<a name="sec6"></a><p class="verse">Prócz tych kaskad i potoków,</p>
-<a name="f10" class="target"> </a><a href="#f10" class="anchor">10</a><p class="verse">Zraszających każdy parów,</p>
-<p class="verse">Prócz girlandy tęcz, obłoków,</p>
-<p class="verse">Prócz natury słodkich czarów;</p>
+<a name="sec6"></a><div class="verse">Prócz tych kaskad i potoków,</div>
+<a name="f10" class="target"> </a><a href="#f10" class="anchor">10</a><div class="verse">Zraszających każdy parów,</div>
+<div class="verse">Prócz girlandy tęcz, obłoków,</div>
+<div class="verse">Prócz natury słodkich czarów;</div>
 </div>
 <div class="stanza">
 </div>
 <div class="stanza">
-<a name="sec7"></a><p class="verse">Prócz tych wspólnych, jasnych zdrojów,</p>
-<p class="verse">Z których serce zachwyt piło;</p>
-<a name="f15" class="target"> </a><a href="#f15" class="anchor">15</a><p class="verse">Prócz pierwiosnków i powojów,—</p>
-<p class="verse">Między nami nic nie było!<span class="theme-end" fid="1189062528872"></span><span class="theme-end" fid="1189062500041"></span></p>
+<a name="sec7"></a><div class="verse">Prócz tych wspólnych, jasnych zdrojów,</div>
+<div class="verse">Z których serce zachwyt piło;</div>
+<a name="f15" class="target"> </a><a href="#f15" class="anchor">15</a><div class="verse">Prócz pierwiosnków i powojów,—</div>
+<div class="verse">Między nami nic nie było!<span class="theme-end" fid="1189062528872"></span><span class="theme-end" fid="1189062500041"></span>
+</div>
 </div>
 </div>
 </div>
 </div>
index 944d830..ac1658e 100644 (file)
@@ -1,50 +1,52 @@
 1: Nicość
 1: Nicość
-<div class="stanza"><p class="verse">nic nie było!</p>
+<div class="stanza"><div class="verse">nic nie było!</div>
 </div>
 
 
 1189062500041: Miłość platoniczna
 <div class="stanza">
 </div>
 
 
 1189062500041: Miłość platoniczna
 <div class="stanza">
-<p class="verse">Między nami nic nie było!</p>
-<p class="verse">Żadnych zwierzeń, wyznań żadnych!</p>
-<p class="verse">Nic nas z sobą nie łączyło —</p>
-<p class="verse">Prócz wiosennych marzeń zdradnych;</p>
+<div class="verse">Między nami nic nie było!
+</div>
+<div class="verse">Żadnych zwierzeń, wyznań żadnych!</div>
+<div class="verse">Nic nas z sobą nie łączyło —</div>
+<div class="verse">Prócz wiosennych marzeń zdradnych;</div>
 </div>
 <div class="stanza">
 </div>
 <div class="stanza">
-<p class="verse">Prócz tych woni, barw i blasków,</p>
-<p class="verse">Unoszących się w przestrzeni;</p>
-<p class="verse">Prócz szumiących śpiewem lasków</p>
-<p class="verse">I tej świeżej łąk zieleni;</p>
+<div class="verse">
+Prócz tych woni, barw i blasków,</div>
+<div class="verse">Unoszących się w przestrzeni;</div>
+<div class="verse">Prócz szumiących śpiewem lasków</div>
+<div class="verse">I tej świeżej łąk zieleni;</div>
 </div>
 <div class="stanza">
 </div>
 <div class="stanza">
-<p class="verse">Prócz tych kaskad i potoków,</p>
-<p class="verse">Zraszających każdy parów,</p>
-<p class="verse">Prócz girlandy tęcz, obłoków,</p>
-<p class="verse">Prócz natury słodkich czarów;</p>
+<div class="verse">Prócz tych kaskad i potoków,</div>
+<div class="verse">Zraszających każdy parów,</div>
+<div class="verse">Prócz girlandy tęcz, obłoków,</div>
+<div class="verse">Prócz natury słodkich czarów;</div>
 </div>
 <div class="stanza">
 </div>
 <div class="stanza">
-<p class="verse">Prócz tych wspólnych, jasnych zdrojów,</p>
-<p class="verse">Z których serce zachwyt piło;</p>
-<p class="verse">Prócz pierwiosnków i powojów,—</p>
-<p class="verse">Między nami nic nie było!</p>
+<div class="verse">Prócz tych wspólnych, jasnych zdrojów,</div>
+<div class="verse">Z których serce zachwyt piło;</div>
+<div class="verse">Prócz pierwiosnków i powojów,—</div>
+<div class="verse">Między nami nic nie było!</div>
 </div>
 
 
 1189062528872: Natura
 </div>
 
 
 1189062528872: Natura
-<div class="stanza"><p class="verse">Prócz tych woni, barw i blasków,</p>
-<p class="verse">Unoszących się w przestrzeni;</p>
-<p class="verse">Prócz szumiących śpiewem lasków</p>
-<p class="verse">I tej świeżej łąk zieleni;</p>
+<div class="stanza"><div class="verse">Prócz tych woni, barw i blasków,</div>
+<div class="verse">Unoszących się w przestrzeni;</div>
+<div class="verse">Prócz szumiących śpiewem lasków</div>
+<div class="verse">I tej świeżej łąk zieleni;</div>
 </div>
 <div class="stanza">
 </div>
 <div class="stanza">
-<p class="verse">Prócz tych kaskad i potoków,</p>
-<p class="verse">Zraszających każdy parów,</p>
-<p class="verse">Prócz girlandy tęcz, obłoków,</p>
-<p class="verse">Prócz natury słodkich czarów;</p>
+<div class="verse">Prócz tych kaskad i potoków,</div>
+<div class="verse">Zraszających każdy parów,</div>
+<div class="verse">Prócz girlandy tęcz, obłoków,</div>
+<div class="verse">Prócz natury słodkich czarów;</div>
 </div>
 <div class="stanza">
 </div>
 <div class="stanza">
-<p class="verse">Prócz tych wspólnych, jasnych zdrojów,</p>
-<p class="verse">Z których serce zachwyt piło;</p>
-<p class="verse">Prócz pierwiosnków i powojów,—</p>
-<p class="verse">Między nami nic nie było!</p>
+<div class="verse">Prócz tych wspólnych, jasnych zdrojów,</div>
+<div class="verse">Z których serce zachwyt piło;</div>
+<div class="verse">Prócz pierwiosnków i powojów,—</div>
+<div class="verse">Między nami nic nie było!</div>
 </div>
 </div>
index d77d8fe..7846376 100644 (file)
@@ -5,20 +5,25 @@
 #
 from __future__ import unicode_literals
 
 #
 from __future__ import unicode_literals
 
+import io
+from unittest import TestCase
 from librarian import NoDublinCore
 from librarian.parser import WLDocument
 from nose.tools import *
 from .utils import get_fixture
 
 
 from librarian import NoDublinCore
 from librarian.parser import WLDocument
 from nose.tools import *
 from .utils import get_fixture
 
 
-def test_transform():
-    expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected.html')
+class TransformTest(TestCase):
+    maxDiff = None
 
 
-    html = WLDocument.from_file(
+    def test_transform(self):
+        expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected.html')
+
+        html = WLDocument.from_file(
             get_fixture('text', 'miedzy-nami-nic-nie-bylo.xml')
             get_fixture('text', 'miedzy-nami-nic-nie-bylo.xml')
-        ).as_html().get_bytes()
+        ).as_html().get_bytes().decode('utf-8')
 
 
-    assert_equal(html, open(expected_output_file_path, 'rb').read())
+        self.assertEqual(html, io.open(expected_output_file_path).read())
 
 
 @raises(NoDublinCore)
 
 
 @raises(NoDublinCore)
index 16057bc..b3915fd 100644 (file)
@@ -5,16 +5,19 @@
 #
 from __future__ import unicode_literals
 
 #
 from __future__ import unicode_literals
 
+import unittest
 from librarian.html import extract_fragments
 from librarian.html import extract_fragments
-from nose.tools import *
 from .utils import get_fixture
 
 
 from .utils import get_fixture
 
 
-def test_fragments():
-    expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_fragments.html')
+class FragmentsTest(unittest.TestCase):
+    maxDiff = None
 
 
-    closed_fragments, open_fragments = extract_fragments(
-        get_fixture('text', 'asnyk_miedzy_nami_expected.html'))
-    assert not open_fragments
-    fragments_text = u"\n\n".join(u"%s: %s\n%s" % (f.id, f.themes, f) for f in sorted(closed_fragments.values(), key=lambda f: f.id))
-    assert_equal(fragments_text, open(expected_output_file_path, 'rb').read().decode('utf-8'))
+    def test_fragments(self):
+        expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_fragments.html')
+
+        closed_fragments, open_fragments = extract_fragments(
+            get_fixture('text', 'asnyk_miedzy_nami_expected.html'))
+        assert not open_fragments
+        fragments_text = u"\n\n".join(u"%s: %s\n%s" % (f.id, f.themes, f) for f in sorted(closed_fragments.values(), key=lambda f: f.id))
+        self.assertEqual(fragments_text, open(expected_output_file_path, 'rb').read().decode('utf-8'))
diff --git a/tox.ini b/tox.ini
index 5b28a3b..bdce7bd 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -1,7 +1,7 @@
 [tox]
 envlist =
     clean,
 [tox]
 envlist =
     clean,
-    py{27,34,35,36,37},
+    py{27,35,36,37},
     stats
 
 [testenv]
     stats
 
 [testenv]
@@ -14,13 +14,13 @@ commands =
 install_command = pip install --extra-index-url https://py.mdrn.pl/simple {packages}
 
 [testenv:clean]
 install_command = pip install --extra-index-url https://py.mdrn.pl/simple {packages}
 
 [testenv:clean]
-basepython = python2
+basepython = python3
 commands =
     coverage erase
 deps = coverage
 
 [testenv:stats]
 commands =
     coverage erase
 deps = coverage
 
 [testenv:stats]
-basepython = python2
+basepython = python3
 commands =
     coverage report
     coverage html
 commands =
     coverage report
     coverage html