]> git.donarmstrong.com Git - lilypond.git/blobdiff - buildscripts/makelsr.py
Fix 530.
[lilypond.git] / buildscripts / makelsr.py
index f37c6b212cfdcefc2292a8be9e45bf4aabd6a9c4..2da2280e551a7ffceedf420506488dc9346d1436 100755 (executable)
@@ -4,8 +4,19 @@ import os
 import os.path
 import shutil
 
-# 'expressive' not available yet
-dirs = ['ancient','chords','connecting','contemporary','expressive','guitar','parts','repeats','spacing','staff','text','vocal']
+dirs = []
+#  NR 1
+dirs.extend(['pitches', 'rhythms', 'expressive',
+'repeats', 'simultaneous', 'staff', 'editorial', 'text'])
+# NR 2
+dirs.extend(['vocal', 'chords', 'piano',
+'percussion', 'guitar', 'strings', 'bagpipes', 'ancient'])
+
+
+
+#
+#dirs.extend(['real-music'])
+#dirs = ['ancient','chords','connecting','contemporary','expressive','education','guitar','parts','pitch','repeats','scheme','spacing','staff','text','vocal','other','nonmusic','engravers','instrument']
 notsafe=[]
 
 try:
@@ -14,6 +25,33 @@ except:
        print "Please specify input_file."
        sys.exit()
 
+def copy_with_warning(src, dest):
+       msg = '%%  Do not edit this file; it is auto-generated from LSR!\n'
+       open (dest, 'w').write( msg + open (src).read() )
+
+
+def copy_dir_with_test(srcdir, destdir):
+       global notsafe
+       global notconvert
+       if not(os.path.exists(srcdir)):
+               return
+       file_names = os.listdir (srcdir)
+       for file in file_names:
+               if (file.endswith ('.ly')):
+                       src = os.path.join (srcdir, file)
+                       destname = file.replace (';', '-')
+                       dest = os.path.join (destdir, destname)
+                       copy_with_warning(src, dest)
+                       os.system('convert-ly -e ' + dest)
+                       if os.path.exists( dest + '~' ):
+                               os.remove( dest + '~' )
+                       # the -V seems to make unsafe snippets fail nicer/sooner.
+                       s = os.system('nice lilypond -V -dno-print-pages -dsafe -o /tmp/lsrtest ' + dest)
+                       #s = os.system('nice lilypond -dno-print-pages -dsafe -o /tmp/lsrtest ' + dest)
+                       if s:
+                               notsafe.append(dest)
+
+
 for dir in dirs:
        srcdir = os.path.join (in_dir, dir)
        destdir = os.path.join ('input', 'lsr', dir)
@@ -22,30 +60,25 @@ for dir in dirs:
                print "  and/or check that you have the right categories."
                sys.exit()
 
+       ## clean out existing files
        file_names = os.listdir (destdir)
        for file in file_names:
                if (file.endswith ('.ly')):
-                       if (file[:3] != 'AAA'):
-                               os.remove( os.path.join(destdir,file) )
+                       os.remove( os.path.join(destdir,file) )
+       ## copy in new files from LSR download
+       copy_dir_with_test( srcdir, destdir )
+       ## copy in new files in source tree
+       copy_dir_with_test( os.path.join ('input', 'new', dir), destdir )
 
-       file_names = os.listdir (in_dir + dir)
-       for file in file_names:
-               src = os.path.join (srcdir, file)
-               dest = os.path.join (destdir, file)
-               shutil.copyfile (src, dest)
-               s = os.system('lilypond -dsafe --ps -o /tmp/lsrtest ' + dest)
-               if s:
-                       notsafe.append(dest)
-                       #raise 'Failed'
 
 file=open("lsr-unsafe.txt", 'w')
 for s in notsafe:
        file.write(s+'\n')
 file.close()
+
 print
 print
 print "Unsafe files printed in lsr-unsafe.txt: CHECK MANUALLY!"
-print "  (probably with  xargs git-diff < lsr-unsafe.txt  )"
+print "  xargs git-diff < lsr-unsafe.txt"
 print
 
-