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:
<xsl:if test="//dc:contributor.editor|//dc:contributor.technical_editor">\r
<p class="info">\r
<xsl:text>Opracowanie redakcyjne i przypisy: </xsl:text>\r
- <xsl:for-each select="//dc:contributor.editor|//dc:contributor.technical_editor">\r
+ <xsl:for-each select="//dc:contributor.editor|//dc:contributor.technical_editor[not(//dc:contributor.editor/text()=text())]">\r
+ <xsl:sort />\r
<xsl:if test="position() != 1">, </xsl:if>\r
<xsl:apply-templates mode="person" />\r
</xsl:for-each>.\r
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)
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)
\description
\vspace{.6em}
- Opracowanie redakcyjne i przypisy: \editors.
+ \editors
\color{black}
}
</xsl:template>
<xsl:template name="editors">
- <xsl:for-each select=".//dc:contributor.editor_parsed|.//dc:contributor.technical_editor_parsed">
- <xsl:if test="position() != 1">, </xsl:if>
- <xsl:apply-templates mode="inline" />
- </xsl:for-each>
+ <xsl:if test="//dc:contributor.editor_parsed|//dc:contributor.technical_editor_parsed">
+ <xsl:text>Opracowanie redakcyjne i przypisy: </xsl:text>
+ <xsl:for-each select="//dc:contributor.editor_parsed|//dc:contributor.technical_editor_parsed[not(//dc:contributor.editor_parsed/text()=text())]">
+ <xsl:sort select="@sortkey" />
+ <xsl:if test="position() != 1">, </xsl:if>
+ <xsl:apply-templates mode="inline" />
+ </xsl:for-each>.
+ </xsl:if>
</xsl:template>
<xsl:template name="translators">
%(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):
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
-<div xmlns:wl="http://wolnelektury.pl/functions" id="book-text">
+<div xmlns:wl="http://wolnelektury.pl/functions" xmlns:dc="http://purl.org/dc/elements/1.1/" id="book-text">
<div id="toc">
<h2>Spis treści</h2>
<ol></ol>
</h1>
<a name="m1189062500041" class="theme-begin" fid="1189062500041">Miłość platoniczna</a><div class="stanza">
<p class="verse"><a name="f1" class="target"> </a><a href="#f1" class="anchor">1</a>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>
+<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>
<div class="stanza">
<p class="verse"><a name="f5" class="target"> </a><a href="#f5" class="anchor">5</a><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>
+<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>
<div class="stanza">
<p class="verse">Prócz tych kaskad i potoków,</p>
-<p class="verse"><a name="f10" class="target"> </a><a href="#f10" class="anchor">10</a>
-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>
+<p class="verse"><a name="f10" class="target"> </a><a href="#f10" class="anchor">10</a>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>
<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"><a name="f15" class="target"> </a><a href="#f15" class="anchor">15</a>
-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>
+<p class="verse">Z których serce zachwyt piło;</p>
+<p class="verse"><a name="f15" class="target"> </a><a href="#f15" class="anchor">15</a>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>
</div>
</div>
-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
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
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'),
)
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())
@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'),
)
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,
)