]> git.donarmstrong.com Git - lilypond.git/commitdiff
Tune makelsr.py (add snippet tags as lsrtags \header variable)
authorJohn Mandereau <john.mandereau@gmail.com>
Thu, 24 Jan 2008 13:50:52 +0000 (14:50 +0100)
committerJohn Mandereau <john.mandereau@gmail.com>
Thu, 24 Jan 2008 13:50:52 +0000 (14:50 +0100)
buildscripts/makelsr.py

index 6e3bf9aa4afbbf57ab9ed9736ebd97931e2be80f..05ed101fd4df577754fcbb268c080295fe369229 100755 (executable)
@@ -10,12 +10,12 @@ This script must be run from top of the source tree;
 it updates snippets input/lsr with snippets in input/new or LSR_SNIPPETS_DIR.
 '''
 
-LY_HEADER_LSR = '''%%%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
-%%%% This file is in the public domain.
-%%%% Tags: %(tags)s
+LY_HEADER_LSR = '''%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
 '''
 
-LY_HEADER_NEW = '''%%%% Do not edit this file; it is auto-generated from input/new
+LY_HEADER_NEW = '''%% Do not edit this file; it is auto-generated from input/new
+%% This file is in the public domain.
 '''
 
 DEST = os.path.join ('input', 'lsr')
@@ -56,19 +56,24 @@ end_header_re = re.compile ('(\\header {.+?(?:"\\s*|\\s+)}\n)\n', re.M | re.S)
 def mark_verbatim_section (ly_code):
        return end_header_re.sub ('\\1% begin verbatim\n', ly_code)
 
+# add tags to ly files from LSR
+add_tags_re = re.compile ('\\header\\s*{', re.M)
+
+def add_tags (ly_code, tags):
+       return add_tags_re.sub ('\\g<0>\n  lsrtags = "' + tags + '"\n', ly_code, 1)
+
 def copy_ly (srcdir, name, tags):
        global unsafe
        global unconverted
        dest = os.path.join (DEST, name)
-       f = open (dest, 'w')
        tags = ', '.join (tags)
+       s = open (os.path.join (srcdir, name)).read ()
        if in_dir in srcdir:
-               h = LY_HEADER_LSR
+               s = LY_HEADER_LSR + add_tags (s, tags)
        else:
-               h = LY_HEADER_NEW
-       f.write (h % vars ())
-       f.write (mark_verbatim_section (open (os.path.join (srcdir, name)).read ()))
-       f.close ()
+               s = LY_HEADER_NEW + s
+       s = mark_verbatim_section (s)
+       open (dest, 'w').write (s)
        e = os.system('convert-ly -e ' + dest)
        if e:
                unconverted.append (dest)