From 1f8cf8e0244045ed2b2a8efcff5d6db967ac2b11 Mon Sep 17 00:00:00 2001 From: Radek Czajka Date: Thu, 28 May 2020 17:12:32 +0200 Subject: [PATCH 1/1] Fix verse numbering. --- librarian/html.py | 2 +- .../text/asnyk_miedzy_nami_expected.html | 35 ++++++----- .../text/asnyk_miedzy_nami_fragments.html | 60 ++++++++++--------- tests/test_html.py | 15 +++-- tests/test_html_fragments.py | 19 +++--- tox.ini | 6 +- 6 files changed, 75 insertions(+), 62 deletions(-) diff --git a/librarian/html.py b/librarian/html.py index 096e399..f8e4a83 100644 --- a/librarian/html.py +++ b/librarian/html.py @@ -239,7 +239,7 @@ def add_anchors(root): 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 diff --git a/tests/files/text/asnyk_miedzy_nami_expected.html b/tests/files/text/asnyk_miedzy_nami_expected.html index 24285f1..dce71bb 100644 --- a/tests/files/text/asnyk_miedzy_nami_expected.html +++ b/tests/files/text/asnyk_miedzy_nami_expected.html @@ -12,27 +12,30 @@ Adam AsnykMiłość platonicznaMiędzy nami nic nie było Miłość platoniczna
- 1

Między nami Nicośćnic nie było!

-

Żadnych zwierzeń, wyznań żadnych!

-

Nic nas z sobą nie łączyło —

-

Prócz wiosennych marzeń zdradnych;

+ 1
Między nami Nicośćnic nie było! +
+
Żadnych zwierzeń, wyznań żadnych!
+
Nic nas z sobą nie łączyło —
+
Prócz wiosennych marzeń zdradnych;
- 5

NaturaPrócz tych woni, barw i blasków,

-

Unoszących się w przestrzeni;

-

Prócz szumiących śpiewem lasków

-

I tej świeżej łąk zieleni;

+ 5
+NaturaPrócz tych woni, barw i blasków,
+
Unoszących się w przestrzeni;
+
Prócz szumiących śpiewem lasków
+
I tej świeżej łąk zieleni;
-

Prócz tych kaskad i potoków,

- 10

Zraszających każdy parów,

-

Prócz girlandy tęcz, obłoków,

-

Prócz natury słodkich czarów;

+
Prócz tych kaskad i potoków,
+ 10
Zraszających każdy parów,
+
Prócz girlandy tęcz, obłoków,
+
Prócz natury słodkich czarów;
-

Prócz tych wspólnych, jasnych zdrojów,

-

Z których serce zachwyt piło;

- 15

Prócz pierwiosnków i powojów,—

-

Między nami nic nie było!

+
Prócz tych wspólnych, jasnych zdrojów,
+
Z których serce zachwyt piło;
+ 15
Prócz pierwiosnków i powojów,—
+
Między nami nic nie było! +
diff --git a/tests/files/text/asnyk_miedzy_nami_fragments.html b/tests/files/text/asnyk_miedzy_nami_fragments.html index 944d830..ac1658e 100644 --- a/tests/files/text/asnyk_miedzy_nami_fragments.html +++ b/tests/files/text/asnyk_miedzy_nami_fragments.html @@ -1,50 +1,52 @@ 1: Nicość -

nic nie było!

+
nic nie było!
1189062500041: Miłość platoniczna
-

Między nami nic nie było!

-

Żadnych zwierzeń, wyznań żadnych!

-

Nic nas z sobą nie łączyło —

-

Prócz wiosennych marzeń zdradnych;

+
Między nami nic nie było! +
+
Żadnych zwierzeń, wyznań żadnych!
+
Nic nas z sobą nie łączyło —
+
Prócz wiosennych marzeń zdradnych;
-

Prócz tych woni, barw i blasków,

-

Unoszących się w przestrzeni;

-

Prócz szumiących śpiewem lasków

-

I tej świeżej łąk zieleni;

+
+Prócz tych woni, barw i blasków,
+
Unoszących się w przestrzeni;
+
Prócz szumiących śpiewem lasków
+
I tej świeżej łąk zieleni;
-

Prócz tych kaskad i potoków,

-

Zraszających każdy parów,

-

Prócz girlandy tęcz, obłoków,

-

Prócz natury słodkich czarów;

+
Prócz tych kaskad i potoków,
+
Zraszających każdy parów,
+
Prócz girlandy tęcz, obłoków,
+
Prócz natury słodkich czarów;
-

Prócz tych wspólnych, jasnych zdrojów,

-

Z których serce zachwyt piło;

-

Prócz pierwiosnków i powojów,—

-

Między nami nic nie było!

+
Prócz tych wspólnych, jasnych zdrojów,
+
Z których serce zachwyt piło;
+
Prócz pierwiosnków i powojów,—
+
Między nami nic nie było!
1189062528872: Natura -

Prócz tych woni, barw i blasków,

-

Unoszących się w przestrzeni;

-

Prócz szumiących śpiewem lasków

-

I tej świeżej łąk zieleni;

+
Prócz tych woni, barw i blasków,
+
Unoszących się w przestrzeni;
+
Prócz szumiących śpiewem lasków
+
I tej świeżej łąk zieleni;
-

Prócz tych kaskad i potoków,

-

Zraszających każdy parów,

-

Prócz girlandy tęcz, obłoków,

-

Prócz natury słodkich czarów;

+
Prócz tych kaskad i potoków,
+
Zraszających każdy parów,
+
Prócz girlandy tęcz, obłoków,
+
Prócz natury słodkich czarów;
-

Prócz tych wspólnych, jasnych zdrojów,

-

Z których serce zachwyt piło;

-

Prócz pierwiosnków i powojów,—

-

Między nami nic nie było!

+
Prócz tych wspólnych, jasnych zdrojów,
+
Z których serce zachwyt piło;
+
Prócz pierwiosnków i powojów,—
+
Między nami nic nie było!
diff --git a/tests/test_html.py b/tests/test_html.py index d77d8fe..7846376 100644 --- a/tests/test_html.py +++ b/tests/test_html.py @@ -5,20 +5,25 @@ # 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 -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') - ).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) diff --git a/tests/test_html_fragments.py b/tests/test_html_fragments.py index 16057bc..b3915fd 100644 --- a/tests/test_html_fragments.py +++ b/tests/test_html_fragments.py @@ -5,16 +5,19 @@ # from __future__ import unicode_literals +import unittest from librarian.html import extract_fragments -from nose.tools import * 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 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] envlist = clean, - py{27,34,35,36,37}, + py{27,35,36,37}, stats [testenv] @@ -14,13 +14,13 @@ commands = 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] -basepython = python2 +basepython = python3 commands = coverage report coverage html -- 2.20.1