]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/bin/ls-latex.py
only write non symlink files.
[lilypond.git] / stepmake / bin / ls-latex.py
index 4279b73148dc9234319ca61f07ac8a76cdaf5f8a..3c97ed9791122b284d9b171bd8920b0ebf35521e 100644 (file)
@@ -13,86 +13,86 @@ import glob
 import re
 
 format_names  = {'ps.gz': 'Compressed PostScript',
-                                'html' : 'HTML'
-                                }
+                'html' : 'HTML'
+                }
 
 def gulp_file(f):
-       try:
-               i = open(f)
-               i.seek (0, 2)
-               n = i.tell ()
-               i.seek (0,0)
-       except:
-               sys.stderr.write ("can't open file: %s\n" % f)
-               return ''
-       s = i.read (n)
-       if len (s) <= 0:
-               sys.stderr.write ("gulped empty file: %s\n" % f)
-       i.close ()
-       return s
+    try:
+        i = open(f)
+        i.seek (0, 2)
+        n = i.tell ()
+        i.seek (0,0)
+    except:
+        sys.stderr.write ("can't open file: %s\n" % f)
+        return ''
+    s = i.read (n)
+    if len (s) <= 0:
+        sys.stderr.write ("gulped empty file: %s\n" % f)
+    i.close ()
+    return s
 
 class Latex_head:
-       def __init__ (self):
-               self.author = ''
-               self.title = ''
-               self.date = ''
-               self.format = ''
-               
+    def __init__ (self):
+        self.author = ''
+        self.title = ''
+        self.date = ''
+        self.format = ''
+        
 def read_latex_header (s):
-       header = Latex_head()
-       m = re.search(r'\\author{([^}]+)}', s)
-       if m:
-               header.author = m.group (1)
+    header = Latex_head()
+    m = re.search(r'\\author{([^}]+)}', s)
+    if m:
+        header.author = m.group (1)
 
-       m = re.search (r'\\title{([^}]+)}',s )
-       if m:
-               header.title = m.group (1)
+    m = re.search (r'\\title{([^}]+)}',s )
+    if m:
+        header.title = m.group (1)
 
-       header.formats = ['ps.gz']
-       return  header
+    header.formats = ['ps.gz']
+    return  header
 
 
 def read_bib_header (s):
-       m = re.search ('% *AUTHOR *= *(.*)\n',s)
+    m = re.search ('% *AUTHOR *= *(.*)\n',s)
 
-       header = Latex_head()
+    header = Latex_head()
 
-       if m:
-               header.author = m.group (1)
+    if m:
+        header.author = m.group (1)
 
-       m = re.search ('% *TITLE *= *(.*)\n',s )
-       if m:
-               header.title = m.group (1)
+    m = re.search ('% *TITLE *= *(.*)\n',s )
+    if m:
+        header.title = m.group (1)
 
-       header.formats = ['html']
-       return header
+    header.formats = ['html']
+    return header
 
 
 def read_pod_header (s):
-       header = Latex_head ()
+    header = Latex_head ()
 
-       i = re.search( '[^\n \t]', s)
-       s = s[i:]
-       i = re.search( '\n\n', s)
-       s = s[i+2:]     
-       i = re.search( '\n\n', s)
-       header.title = s[:i]
+    i = re.search( '[^\n \t]', s)
+    s = s[i:]
+    i = re.search( '\n\n', s)
+    s = s[i+2:]        
+    i = re.search( '\n\n', s)
+    header.title = s[:i]
 
-       header.formats = ['html']
-       return  header
+    header.formats = ['html']
+    return  header
 
 def read_texinfo_header (s):
-       header = Latex_head ()
-
-       m = re.search( '@settitle (.*)\n', s)
-       if m:
-               header.title = m.group (1)
-       m = re.search( '@author (.*)\n', s)
-       if m:
-               header.author = m.group (1)
-       
-       header.formats = ['html', 'ps.gz']
-       return header
+    header = Latex_head ()
+
+    m = re.search( '@settitle (.*)\n', s)
+    if m:
+        header.title = m.group (1)
+    m = re.search( '@author (.*)\n', s)
+    if m:
+        header.author = m.group (1)
+    
+    header.formats = ['html', 'ps.gz']
+    return header
 
 # urg
 # should make a 'next_parens '
@@ -102,77 +102,77 @@ yo_sect_re  =  re.compile ('sect(\\([^)]*\\))')
 yo_chapter_re  =  re.compile ('chapter(\\([^)]*\\))')
 
 def read_yodl_header (s):
-       header = Latex_head ()
-       report = yo_report_re.search (s)
-       article = 0
-       sect = 0
-       chapter = 0
-       if report:
-               header.author = report.group (2)
-               header.title = yo_report_re.group (1)
-       else:
-               article = yo_article_re.search (s)
-               if article:
-                       header.author = article.group (2)
-                       header.title = article.group (1)
-               else:
-                       chapter = yo_chapter_re.search (s)
-                       if chapter:
-                               header.title = chapter.group (1)
-                       else:
-                               sect = yo_sect_re.search (s)
-                               if sect:
-                                       header.title = sect.group (1)
-
-       header.formats = ['html']
-       return  header
+    header = Latex_head ()
+    report = yo_report_re.search (s)
+    article = 0
+    sect = 0
+    chapter = 0
+    if report:
+        header.author = report.group (2)
+        header.title = yo_report_re.group (1)
+    else:
+        article = yo_article_re.search (s)
+        if article:
+            header.author = article.group (2)
+            header.title = article.group (1)
+        else:
+            chapter = yo_chapter_re.search (s)
+            if chapter:
+                header.title = chapter.group (1)
+            else:
+                sect = yo_sect_re.search (s)
+                if sect:
+                    header.title = sect.group (1)
+
+    header.formats = ['html']
+    return  header
 
 
 def print_html_head (l,o,h):
-       pre =o
-       
-       fn = pre + h.basename
+    pre =o
+    
+    fn = pre + h.basename
 
-       t = h.filename 
-       if h.title :
-               t = t + ': '+ h.title
+    t = h.filename 
+    if h.title :
+        t = t + ': '+ h.title
 
-       l.write ('<li>%s </a>' % t)
+    l.write ('<li>%s </a>' % t)
 
-       if h.author:
-               l.write ('<p>by %s</p>' % h.author)
+    if h.author:
+        l.write ('<p>by %s</p>' % h.author)
 
-       for f in h.formats:
-               l.write ('(<a href=%s.%s>%s</a>)' % (fn, f, format_names [f]))
-       l.write ('</li>\n')
+    for f in h.formats:
+        l.write ('(<a href=%s.%s>%s</a>)' % (fn, f, format_names [f]))
+    l.write ('</li>\n')
 
 def help ():
-       sys.stdout.write (r"""Usage: ls-latex [OPTIONS]... FILE...
+    sys.stdout.write (r"""Usage: ls-latex [OPTIONS]... FILE...
 Generate html index file for FILE...
 
 Options:
 -h, --help                print this help
 """)
-       sys.exit (0)
+    sys.exit (0)
 
 import getopt
 
 (options, files) = getopt.getopt(sys.argv[1:], 
-       'e:h', ['help', 'prefix=',  'title='])
+    'e:h', ['help', 'prefix=',  'title='])
 
 tex = ''
 output =''
 pre = ''
 title = ''
 for opt in options:
-       o = opt[0]
-       a = opt[1]
-       if o == '--prefix':
-               pre = a
-       elif o == '--title':
-               title = a  
-       elif o == '-h' or o == '--help':
-                       help ()
+    o = opt[0]
+    a = opt[1]
+    if o == '--prefix':
+        pre = a
+    elif o == '--title':
+        title = a  
+    elif o == '-h' or o == '--help':
+            help ()
 
 
 l = sys.stdout
@@ -184,29 +184,29 @@ l.write (r"""<html><title>%s</title>
 
 
 read_header_funcs = {
-       'pod' : read_pod_header,
-       'tex' : read_latex_header,
-       'doc' : read_latex_header,
-       'bib': read_bib_header, 
-       'latex' : read_latex_header,
-       'tely' : read_texinfo_header,
-       'texi': read_texinfo_header,
-       'yo': read_yodl_header, 
-}      
+    'pod' : read_pod_header,
+    'tex' : read_latex_header,
+    'doc' : read_latex_header,
+    'bib': read_bib_header, 
+    'latex' : read_latex_header,
+    'tely' : read_texinfo_header,
+    'texi': read_texinfo_header,
+    'yo': read_yodl_header, 
+}        
 
 
 for x in files:
-       m = re.search ('\\.([^.]*)$', x)
-       if m == None:
-               continue
+    m = re.search ('\\.([^.]*)$', x)
+    if m == None:
+        continue
 
-       s = gulp_file (x)
-       head = read_header_funcs [m.group(1)] (s)
+    s = gulp_file (x)
+    head = read_header_funcs [m.group(1)] (s)
 
-       head.filename = x
-       head.basename = re.sub ("\\.[^.]+", '', x)
-       
-       print_html_head (l, pre, head)
+    head.filename = x
+    head.basename = re.sub ("\\.[^.]+", '', x)
+    
+    print_html_head (l, pre, head)
 
 l.write ('</ul></body></html>')