From 0fd2ed230ea6d53adb5e627731672c996485167b Mon Sep 17 00:00:00 2001 From: Radek Czajka Date: Mon, 24 Jan 2011 12:27:35 +0100 Subject: [PATCH 1/1] fixes #1060: sorted and unique editors' names tests fix --- librarian/dcparser.py | 5 +++ librarian/epub/xsltLast.xsl | 3 +- librarian/pdf.py | 2 +- librarian/pdf/wl.sty | 2 +- librarian/pdf/wl2tex.xslt | 12 ++++-- librarian/text.py | 8 ++-- .../text/asnyk_miedzy_nami_expected.html | 38 +++++++------------ .../files/text/asnyk_miedzy_nami_expected.txt | 32 ++++++++-------- tests/files/text/asnyk_miedzy_nami_nodc.txt | 0 tests/test_html.py | 2 +- tests/test_text.py | 12 +++--- 11 files changed, 58 insertions(+), 58 deletions(-) delete mode 100644 tests/files/text/asnyk_miedzy_nami_nodc.txt diff --git a/librarian/dcparser.py b/librarian/dcparser.py index 49a33d4..e2f91a0 100644 --- a/librarian/dcparser.py +++ b/librarian/dcparser.py @@ -44,6 +44,11 @@ class Person(object): def __eq__(self, right): return self.last_name == right.last_name and self.first_names == right.first_names + def __cmp__(self, other): + return cmp((self.last_name, self.first_names), (other.last_name, other.first_names)) + + def __hash__(self): + return hash((self.last_name, self.first_names)) def __unicode__(self): if len(self.first_names) > 0: diff --git a/librarian/epub/xsltLast.xsl b/librarian/epub/xsltLast.xsl index 3949878..0739606 100644 --- a/librarian/epub/xsltLast.xsl +++ b/librarian/epub/xsltLast.xsl @@ -81,7 +81,8 @@

Opracowanie redakcyjne i przypisy: - + + , . diff --git a/librarian/pdf.py b/librarian/pdf.py index f8a4d73..41de1b3 100644 --- a/librarian/pdf.py +++ b/librarian/pdf.py @@ -135,6 +135,7 @@ def parse_creator(doc): p = Person.from_text(person.text) person_parsed = deepcopy(person) person_parsed.tag = person.tag + '_parsed' + person_parsed.set('sortkey', person.text) person_parsed.text = p.readable() person.getparent().insert(0, person_parsed) @@ -288,7 +289,6 @@ def load_including_children(provider, slug=None, uri=None, file_path=None): parse_dublincore=True) f.close() - print document.book_info for child_uri in document.book_info.parts: print child_uri child = load_including_children(provider, uri=child_uri) diff --git a/librarian/pdf/wl.sty b/librarian/pdf/wl.sty index 3a8016f..897535e 100644 --- a/librarian/pdf/wl.sty +++ b/librarian/pdf/wl.sty @@ -142,7 +142,7 @@ Letters={SmallCaps,UppercaseSmallCaps} \description \vspace{.6em} - Opracowanie redakcyjne i przypisy: \editors. + \editors \color{black} } diff --git a/librarian/pdf/wl2tex.xslt b/librarian/pdf/wl2tex.xslt index 4ca109e..c577313 100644 --- a/librarian/pdf/wl2tex.xslt +++ b/librarian/pdf/wl2tex.xslt @@ -340,10 +340,14 @@ - - , - - + + Opracowanie redakcyjne i przypisy: + + + , + + . + diff --git a/librarian/text.py b/librarian/text.py index 64c956e..bcb031d 100644 --- a/librarian/text.py +++ b/librarian/text.py @@ -25,9 +25,7 @@ Utwór opracowany został w ramach projektu Wolne Lektury przez fundację Nowocz %(license_description)s.%(source)s -%(description)s - -Opracowanie redakcyjne i przypisy: %(contributors)s +%(description)s%(contributors)s """ def transform(input_file, output_file, parse_dublincore=True, **options): @@ -57,7 +55,9 @@ def transform(input_file, output_file, parse_dublincore=True, **options): else: source = '' - contributors = ', '.join(person.readable() for person in (parsed_dc.technical_editors + parsed_dc.editors)) + contributors = ', '.join(person.readable() for person in sorted(set(parsed_dc.technical_editors + parsed_dc.editors))) + if contributors: + contributors = "\n\nOpracowanie redakcyjne i przypisy: %s" % contributors else: description = 'Publikacja zrealizowana w ramach projektu Wolne Lektury (http://wolnelektury.pl).' url = '*' * 10 diff --git a/tests/files/text/asnyk_miedzy_nami_expected.html b/tests/files/text/asnyk_miedzy_nami_expected.html index 456aaf6..6bc7649 100644 --- a/tests/files/text/asnyk_miedzy_nami_expected.html +++ b/tests/files/text/asnyk_miedzy_nami_expected.html @@ -1,4 +1,4 @@ -

+

Spis treści

    @@ -8,38 +8,26 @@ Miłość platoniczna

    1Między nami nic nie było!

    -

    -Żadnych zwierzeń, wyznań żadnych!

    -

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

    -

    -Prócz wiosennych marzeń zdradnych;

    +

    Żadnych zwierzeń, wyznań żadnych!

    +

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

    +

    Prócz wiosennych marzeń zdradnych;

    5NaturaPró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;

    +

    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;

    +

    10Zraszają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!

    +

    Z których serce zachwyt piło;

    +

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

    +

    Między nami nic nie było!

    diff --git a/tests/files/text/asnyk_miedzy_nami_expected.txt b/tests/files/text/asnyk_miedzy_nami_expected.txt index 4441c70..70c3185 100644 --- a/tests/files/text/asnyk_miedzy_nami_expected.txt +++ b/tests/files/text/asnyk_miedzy_nami_expected.txt @@ -1,18 +1,3 @@ -Kodowanie znaków w dokumencie: UTF-8. ------ -Publikacja zrealizowana w ramach projektu Wolne Lektury (http://wolnelektury.pl). Reprodukcja cyfrowa wykonana przez Bibliotekę Narodową z egzemplarza pochodzącego ze zbiorów BN. - -Ten utwór nie jest chroniony prawem autorskim i znajduje się w domenie publicznej, co oznacza, że możesz go swobodnie wykorzystywać, publikować i rozpowszechniać. - -Na podstawie: (Asnyk, Adam) El...y (1838-1897), Poezye, t. 3, Gebethner i Wolff, wyd. nowe poprzedzone słowem wstępnym St. Krzemińskiego, Warszawa, 1898 - -Wersja lektury w opracowaniu merytorycznym i krytycznym (przypisy i motywy) dostępna jest na stronie http://wolnelektury.pl/katalog/lektura/miedzy-nami-nic-nie-bylo. ------ - - - - - Adam Asnyk Między nami nic nie było @@ -38,3 +23,20 @@ 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! + + + + +----- +Ta lektura, podobnie jak tysiące innych, dostępna jest na stronie wolnelektury.pl. +Wersja lektury w opracowaniu merytorycznym i krytycznym (przypisy i motywy) dostępna jest na stronie http://wolnelektury.pl/katalog/lektura/miedzy-nami-nic-nie-bylo. + +Utwór opracowany został w ramach projektu Wolne Lektury przez fundację Nowoczesna Polska. + +Ten utwór nie jest chroniony 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 Creative Commons Uznanie Autorstwa – Na Tych Samych Warunkach 3.0 PL (http://creativecommons.org/licenses/by-sa/3.0/). + +Tekst opracowany na podstawie: (Asnyk, Adam) El...y (1838-1897), Poezye, t. 3, Gebethner i Wolff, wyd. nowe poprzedzone słowem wstępnym St. Krzemińskiego, Warszawa, 1898 + +Publikacja zrealizowana w ramach projektu Wolne Lektury (http://wolnelektury.pl). Reprodukcja cyfrowa wykonana przez Bibliotekę Narodową z egzemplarza pochodzącego ze zbiorów BN. + +Opracowanie redakcyjne i przypisy: Aleksandra Sekuła, Olga Sutkowska diff --git a/tests/files/text/asnyk_miedzy_nami_nodc.txt b/tests/files/text/asnyk_miedzy_nami_nodc.txt deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_html.py b/tests/test_html.py index 4fbbaad..5187e06 100644 --- a/tests/test_html.py +++ b/tests/test_html.py @@ -29,7 +29,7 @@ def test_transform(): def test_no_dublincore(): html.transform( get_fixture('text', 'asnyk_miedzy_nami_nodc.xml'), - get_fixture('text', 'asnyk_miedzy_nami_nodc.html'), + get_fixture('text', 'asnyk_miedzy_nami.html'), ) diff --git a/tests/test_text.py b/tests/test_text.py index 5b01718..7ff94ca 100644 --- a/tests/test_text.py +++ b/tests/test_text.py @@ -18,8 +18,8 @@ def test_transform(): expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected.txt') text.transform( - get_fixture('text', 'asnyk_miedzy_nami.xml'), - output_file_path, + open(get_fixture('text', 'asnyk_miedzy_nami.xml')), + open(output_file_path, 'w'), ) assert_equal(file(output_file_path).read(), file(expected_output_file_path).read()) @@ -29,8 +29,8 @@ def test_transform(): @raises(NoDublinCore) def test_no_dublincore(): text.transform( - get_fixture('text', 'asnyk_miedzy_nami_nodc.xml'), - get_fixture('text', 'asnyk_miedzy_nami_nodc.txt'), + open(get_fixture('text', 'asnyk_miedzy_nami_nodc.xml')), + open(get_fixture('text', 'asnyk_miedzy_nami.txt'), 'w'), ) @@ -38,7 +38,7 @@ def test_no_dublincore(): def test_passing_parse_dublincore_to_transform(): """Passing parse_dublincore=False to transform omits DublinCore parsing.""" text.transform( - get_fixture('text', 'asnyk_miedzy_nami_nodc.xml'), - get_fixture('text', 'asnyk_miedzy_nami.txt'), + open(get_fixture('text', 'asnyk_miedzy_nami_nodc.xml')), + open(get_fixture('text', 'asnyk_miedzy_nami.txt'), 'w'), parse_dublincore=False, ) -- 2.20.1