]> git.donarmstrong.com Git - lilypond.git/blobdiff - scripts/lilypond-book.py
Docs: also distribute .jpe?g files in docball and web site
[lilypond.git] / scripts / lilypond-book.py
index c629201c5d6cb3d71dcd3317e08bb63b947089ff..dc035b4b5cffa835906a0bea4e0bc9734e048276 100644 (file)
@@ -29,7 +29,6 @@ TODO:
 '''
 
 import glob
-import md5
 import os
 import re
 import stat
@@ -273,7 +272,6 @@ TEXIDOC = 'texidoc'
 TEXINFO = 'texinfo'
 VERBATIM = 'verbatim'
 VERSION = 'lilypondversion'
-FONTLOAD = 'fontload'
 FILENAME = 'filename'
 ALT = 'alt'
 
@@ -601,7 +599,6 @@ simple_options = [
     TEXIDOC,
     LANG,
     VERBATIM,
-    FONTLOAD,
     FILENAME,
     ALT,
     ADDVERSION
@@ -831,8 +828,6 @@ PREAMBLE_LY = '''%%%% Generated by %(program_name)s
 %(preamble_string)s
 
 \paper {
-  #(define dump-extents #t)
-  %(font_dump_setting)s
   %(paper_string)s
   force-assignment = #""
   line-width = #(- line-width (* mm  %(padding_mm)f))
@@ -936,14 +931,15 @@ def verb_ly_gettext (s):
 
     s = ly_comment_re.sub (lambda m: ly_comment_gettext (t, m), s)
 
-    for v in ly_var_def_re.findall (s):
-        s = re.sub (r"(?m)(^|[' \\#])%s([^a-zA-Z])" % v,
-                    "\\1" + t (v) + "\\2",
-                    s)
-    for id in ly_context_id_re.findall (s):
-        s = re.sub (r'(\s+|")%s(\s+|")' % id,
-                    "\\1" + t (id) + "\\2",
-                    s)
+    if langdefs.LANGDICT[document_language].enable_ly_identifier_l10n:
+        for v in ly_var_def_re.findall (s):
+            s = re.sub (r"(?m)(^|[' \\#])%s([^a-zA-Z])" % v,
+                        "\\1" + t (v) + "\\2",
+                        s)
+        for id in ly_context_id_re.findall (s):
+            s = re.sub (r'(\s+|")%s(\s+|")' % id,
+                        "\\1" + t (id) + "\\2",
+                        s)
     return s
 
 texinfo_lang_re = re.compile ('(?m)^@documentlanguage (.*?)( |$)')
@@ -1036,10 +1032,12 @@ class LilypondSnippet (Snippet):
         self.do_options (os, self.type)
 
     def verb_ly (self):
-        if NOGETTEXT in self.option_dict:
-            return self.substring ('code')
-        else:
-            return verb_ly_gettext (self.substring ('code'))
+        verb_text = self.substring ('code')
+        if not NOGETTEXT in self.option_dict:
+            verb_text = verb_ly_gettext (verb_text)
+        if not verb_text.endswith ('\n'):
+            verb_text += '\n'
+        return verb_text
 
     def ly (self):
         contents = self.substring ('code')
@@ -1224,9 +1222,6 @@ class LilypondSnippet (Snippet):
         notes_string = '\n  '.join (compose_dict[NOTES]) % vars ()
         preamble_string = '\n  '.join (compose_dict[PREAMBLE]) % override
         padding_mm = global_options.padding_mm
-        font_dump_setting = ''
-        if FONTLOAD in self.option_dict:
-            font_dump_setting = '#(define-public force-eps-font-include #t)\n'
 
         d = globals().copy()
         d.update (locals())
@@ -1234,7 +1229,13 @@ class LilypondSnippet (Snippet):
 
     def get_checksum (self):
         if not self.checksum:
-            hash = md5.md5 (self.relevant_contents (self.full_ly ()))
+            # Work-around for md5 module deprecation warning in python 2.5+:
+            try: 
+                from hashlib import md5
+            except ImportError:
+                from md5 import md5
+
+            hash = md5 (self.relevant_contents (self.full_ly ()))
 
             ## let's not create too long names.
             self.checksum = hash.hexdigest ()[:10]
@@ -1475,9 +1476,9 @@ class LilypondSnippet (Snippet):
             doctitle = base + '.doctitle'
             translated_doctitle = doctitle + document_language
             if os.path.exists (translated_doctitle):
-                str += '@lydoctitle %s\n' % open (translated_doctitle).read ()
+                str += '@lydoctitle %s\n\n' % open (translated_doctitle).read ()
             elif os.path.exists (doctitle):
-                str += '@lydoctitle %s\n' % open (doctitle).read ()
+                str += '@lydoctitle %s\n\n' % open (doctitle).read ()
         if TEXIDOC in self.option_dict:
             texidoc = base + '.texidoc'
             translated_texidoc = texidoc + document_language
@@ -1522,7 +1523,11 @@ class LilypondFileSnippet (LilypondSnippet):
         s = self.contents
         s = re_begin_verbatim.split (s)[-1]
         s = re_end_verbatim.split (s)[0]
-        return verb_ly_gettext (s)
+        if not NOGETTEXT in self.option_dict:
+            s = verb_ly_gettext (s)
+        if not s.endswith ('\n'):
+            s += '\n'
+        return s
 
     def ly (self):
         name = self.substring ('filename')