ISBN in txt
authorJan Szejko <janek37@gmail.com>
Tue, 16 May 2017 15:25:24 +0000 (17:25 +0200)
committerJan Szejko <janek37@gmail.com>
Tue, 16 May 2017 15:25:24 +0000 (17:25 +0200)
librarian/text.py
librarian/xslt/book2txt.xslt

index 0761ab0..39bf324 100644 (file)
@@ -26,7 +26,7 @@ Utwór opracowany został w ramach projektu Wolne Lektury przez fundację Nowocz
 
 %(license_description)s.%(source)s%(publisher)s
 
-%(description)s%(contributors)s%(funders)s
+%(description)s%(contributors)s%(funders)s%(isbn)s
 """
 
 
@@ -85,6 +85,11 @@ def transform(wldoc, flags=None, **options):
             if funders:
                 funders = u"\n\nPublikację wsparli i wsparły: %s." % funders
             publisher = '\n\nWydawca: ' + ', '.join(parsed_dc.publisher)
+            isbn_element = document.edoc.find("//meta[@id='txt-id']")
+            if isbn_element is not None:
+                isbn = isbn_element.text.replace('ISBN-', '\n\nISBN ')
+            else:
+                isbn = ''
         else:
             description = 'Publikacja zrealizowana w ramach projektu Wolne Lektury (http://wolnelektury.pl).'
             url = '*' * 10
@@ -93,6 +98,7 @@ def transform(wldoc, flags=None, **options):
             contributors = ""
             funders = ""
             publisher = ""
+            isbn = ""
         result = (TEMPLATE % {
             'description': description,
             'url': url,
@@ -102,6 +108,7 @@ def transform(wldoc, flags=None, **options):
             'contributors': contributors,
             'funders': funders,
             'publisher': publisher,
+            'isbn': isbn,
         }).encode('utf-8')
     else:
         result = unicode(result).encode('utf-8')
index 6a25023..89c9dfd 100644 (file)
@@ -21,6 +21,7 @@
 <xsl:if test="not (../@raw-text) and nazwa_utworu">
     <xsl:apply-templates select="autor_utworu|dzielo_nadrzedne|nazwa_utworu|podtytul" mode="header" />
     <xsl:call-template name="translators" />
+    <xsl:call-template name="isbn" />
     <xsl:text>
 </xsl:text>
 </xsl:if>
     </xsl:if>
 </xsl:template>
 
+<xsl:template name="isbn">
+    <xsl:if test="//meta[@id='txt-id']">
+        <xsl:variable name="isbn" select="//meta[@id='txt-id']"/>
+        <text>
+ISBN </text><xsl:value-of select="substring-after($isbn, 'ISBN-')"/>
+    </xsl:if>
+</xsl:template>
+
 
 <!-- ================ -->
 <!-- = IGNORED TAGS = -->