X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=buildscripts%2Fmakelsr.py;h=cb0619f6deae2e726b0b0e28d90062fbbc4123e3;hb=0387f04497978e37b335a8b99eec905499d6ad0f;hp=a637cbe1cd261ccc4a372994ddbc6d10d577a4ea;hpb=80ab82e55619933121a5d300cf7f1149ad9f1670;p=lilypond.git diff --git a/buildscripts/makelsr.py b/buildscripts/makelsr.py old mode 100755 new mode 100644 index a637cbe1cd..cb0619f6de --- a/buildscripts/makelsr.py +++ b/buildscripts/makelsr.py @@ -26,10 +26,12 @@ TAGS = [] # NR 1 TAGS.extend (['pitches', 'rhythms', 'expressive-marks', 'repeats', 'simultaneous-notes', 'staff-notation', -'editorial-and-educational-use', 'text']) +'editorial-annotations', 'text']) # NR 2 -TAGS.extend (['vocal-music', 'chords', 'piano-music', -'percussion', 'guitar', 'strings', 'bagpipes', 'ancient-notation']) +TAGS.extend (['vocal-music', 'chords', 'keyboards', +'percussion', 'fretted-strings', 'unfretted-strings', +'ancient-notation', 'winds', 'world-music' +]) # other TAGS.extend (['contexts-and-engravers', 'tweaks-and-overrides', @@ -52,12 +54,15 @@ unconverted = [] notags_files = [] # mark the section that will be printed verbatim by lilypond-book -end_header_re = re.compile ('(\\header {.+?(?:"\\s*|\\s+)}\n)\n', re.M | re.S) +end_header_re = re.compile ('(\\header {.+?doctitle = ".+?})\n', re.M | re.S) def mark_verbatim_section (ly_code): - return end_header_re.sub ('\\1% begin verbatim\n', ly_code, 1) + return end_header_re.sub ('\\1 % begin verbatim\n\n', ly_code, 1) -begin_header_re = re.compile ('\\header\\s*{', re.M) +# '% LSR' comments are to be stripped +lsr_comment_re = re.compile (r'\s*%+\s*LSR.*') + +begin_header_re = re.compile (r'\\header\s*{', re.M) # add tags to ly files from LSR def add_tags (ly_code, tags): @@ -74,6 +79,10 @@ def copy_ly (srcdir, name, tags): os.path.splitext (name)[0] + '.texidoc') if os.path.exists (texidoc_translations_path): texidoc_translations = open (texidoc_translations_path).read () + # Since we want to insert the translations verbatim using a + # regexp, \\ is understood as ONE escaped backslash. So we have + # to escape those backslashes once more... + texidoc_translations = texidoc_translations.replace ('\\', '\\\\') s = begin_header_re.sub ('\\g<0>\n' + texidoc_translations, s, 1) if in_dir in srcdir: @@ -82,6 +91,7 @@ def copy_ly (srcdir, name, tags): s = LY_HEADER_NEW + s s = mark_verbatim_section (s) + s = lsr_comment_re.sub ('', s) open (dest, 'w').write (s) e = os.system ("convert-ly -e '%s'" % dest) @@ -101,7 +111,7 @@ def read_source_with_dirs (src): srcdir = os.path.join (src, tag) l[tag] = set (map (os.path.basename, glob.glob (os.path.join (srcdir, '*.ly')))) for f in l[tag]: - if f in s.keys (): + if f in s: s[f][1].append (tag) else: s[f] = (srcdir, [tag]) @@ -145,7 +155,7 @@ for (name, (srcdir, tags)) in snippets.items (): copy_ly (srcdir, name, tags) for (tag, file_set) in tag_lists.items (): - dump_file_list (os.path.join (DEST, tag + '.snippet-list'), file_set) + dump_file_list (os.path.join (DEST, tag + '.snippet-list'), sorted(file_set)) if unconverted: sys.stderr.write ('These files could not be converted successfully by convert-ly:\n')