]> git.donarmstrong.com Git - lilypond.git/blobdiff - scripts/build/lys-to-tely.py
Merge branch 'fixedmerge' into HEAD
[lilypond.git] / scripts / build / lys-to-tely.py
index a911e02aa2e02d5b99b42b21476f65b0eee62046..a3bc4b576bdc8e08f4bc9ff0f9e2dbbe42147c53 100644 (file)
@@ -14,6 +14,7 @@ import sys
 import os
 import getopt
 import re
+import glob
 
 program_name = 'lys-to-tely'
 
@@ -28,6 +29,7 @@ Options:
    options
  -o, --output=NAME              write tely doc to NAME
  -i, --input-filenames=NAME     read list of files from a file instead of stdin
+ -g, --glob-input=GLOB          a string which will be passed to glob.glob(GLOB)
  -t, --title=TITLE              set tely doc title TITLE
  -a, --author=AUTHOR            set tely author AUTHOR
      --template=TEMPLATE        use TEMPLATE as Texinfo template file,
@@ -43,12 +45,13 @@ def help (text):
 (options, files) = getopt.getopt (sys.argv[1:], 'f:hn:t:',
                      ['fragment-options=', 'help', 'name=',
                      'title=', 'author=', 'template=',
-                     'input-filenames='])
+                     'input-filenames=', 'glob-input='])
 
 name = "ly-doc"
 title = "Ly Doc"
 author = "Han-Wen Nienhuys and Jan Nieuwenhuizen"
 input_filename = ""
+glob_input = ""
 template = '''\input texinfo
 @setfilename %%(name)s.info
 @settitle %%(title)s
@@ -90,6 +93,8 @@ for opt in options:
         author = a
     elif o == '-i' or o == '--input-filenames':
         input_filename = a
+    elif o == '-p' or o == '--glob-input':
+        glob_input = a
     elif o == '-f' or o == '--fragment-options':
         fragment_options = a
     elif o == '--template':
@@ -97,18 +102,19 @@ for opt in options:
     else:
         raise Exception ('unknown option: ' + o)
 
-texi_file_re = re.compile ('.*\.i?te(ly|xi)$')
-html_file_re = re.compile ('.*\.i?htm(l)?$')
-xml_file_re = re.compile ('.*\.i?(xm|mx)l$')
-tex_file_re = re.compile ('.*\.i?(la)?tex$')
+html_file_re = re.compile ('.*\.i?html?$')
+info_file_re = re.compile ('.*\.info$')
 pdf_file_re = re.compile ('.*\.i?pdf$')
+tex_file_re = re.compile ('.*\.i?(la)?tex$')
+texi_file_re = re.compile ('.*\.i?te(ly|xi|xinfo)$')
+xml_file_re = re.compile ('.*\.i?(xm|mx)l$')
 
 def name2line (n):
     if texi_file_re.match (n):
         # We have a texi include file, simply include it:
         s = r"@include %s" % os.path.basename (n)
-    elif (html_file_re.match (n) or pdf_file_re.match (n) or
-          tex_file_re.match (n)):
+    elif (html_file_re.match (n) or info_file_re.match (n)
+          or pdf_file_re.match (n) or tex_file_re.match (n)):
         s = r"""
 @ifhtml
 @html
@@ -143,8 +149,10 @@ def name2line (n):
 """ % (os.path.basename (n), fragment_options, n)
     return s
 
-if input_filename:
-    files = open(input_filename).read().splitlines()
+if glob_input:
+    files = glob.glob(glob_input)
+elif input_filename:
+    files = open(input_filename).read().split()
 
 if files:
     dir = os.path.dirname (name) or "."