Dodanie linku do strony lektury w WolneLektury.pl do wynikowych plików tekstowych...
[wolnelektury.git] / lib / librarian / bin / book2txt.py
index 86f6f12..d3c2d01 100755 (executable)
@@ -5,16 +5,34 @@ import os
 import optparse
 import codecs
 
+from librarian import dcparser
+
+
+HEADER = u"""\
+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ć.
+
+Wersja lektury w opracowaniu merytorycznym i krytycznym (przypisy i motywy) dostępna jest na stronie %s.
+-----
+
+"""
+
+def get_header(filename):
+    return HEADER % dcparser.parse(filename).url
+
 
 REGEXES = [
     (r'<rdf:RDF[^>]*>(.|\n)*?</rdf:RDF>', ''),
     (r'<motyw[^>]*>(.|\n)*?</motyw>', ''),
     ('<(begin|end)\\sid=[\'|"][b|e]\\d+[\'|"]\\s/>', ''),
     (r'<extra>((<!--<(elementy_poczatkowe|tekst_glowny)>-->)|(<!--</(elementy_poczatkowe|tekst_glowny)>-->))</extra>', ''),
-    (r'<uwaga>[^<]*</uwaga>', ''),
-    (r'<p[a|e|r|t]>(.|\n)*?</p>', ''),
+    (r'<uwaga>(.|\n)*?</uwaga>', ''),
+    (r'<p[a|e|r|t]>(.|\n)*?</p[a|e|r|t]>', ''),
     (r'<[^>]+>', ''),
-    (r'/$', ''),
+    (r'/\n', '\n'),
     (r'---', u'—'),
     (r'--', u'-'),
     (r',,', u'„'),
@@ -47,10 +65,9 @@ if __name__ == '__main__':
         
         xml = codecs.open(input_filename, 'r', encoding='utf-8').read()
         for pattern, repl in REGEXES:
-            # print pattern, repl
             xml, n = re.subn(pattern, repl, xml)
-            # print n
-            
+        
         output = codecs.open(output_filename, 'w', encoding='utf-8')
+        output.write(get_header(input_filename))
         output.write(xml)