3 # name isn't really appropriate now ...
21 format_names = {'ps.gz': 'Compressed PostScript',
32 def read_latex_header (s):
34 m = re.search(r'\\author{([^}]+)}', s)
36 header.author = m.group (1)
38 m = re.search (r'\\title{([^}]+)}',s )
40 header.title = m.group (1)
42 header.formats = ['ps.gz']
46 def read_bib_header (s):
48 m = re.search ('% *AUTHOR *= *(.*)\n',s)
53 header.author = m.group (1)
55 m = re.search ('% *TITLE *= *(.*)\n',s )
57 header.title = m.group (1)
59 header.formats = ['html']
63 def read_pod_header (s):
64 header = Latex_head ()
66 i = re.search( '[^\n \t]', s)
68 i = re.search( '\n\n', s)
70 i = re.search( '\n\n', s)
75 def read_texinfo_header (s):
76 header = Latex_head ()
78 m = re.search( '@settitle (.*$)', s)
80 header.title = m.group (1)
82 header.formats = ['html', 'ps.gz']
87 def print_html_head (l,o,h):
97 l.write ('<li>%s </a>' % t)
100 l.write ('<p>by %s</p>' % h.author)
103 l.write ('(<a href=%s.%s>%s</a>)' % (fn, f, format_names [f]))
107 sys.stdout.write ("Usage: ls-latex [OPTION]... FILE...\n"
108 "Generate html index file for FILE...\n\n"
110 + " -h, --help print this help\n"
116 (options, files) = getopt.getopt(sys.argv[1:],
117 'e:h', ['help', 'prefix=', 'title='])
130 elif o == '-h' or o == '--help':
136 l.write (r"""<html><title>%s</title>
139 """ % (title, title))
142 read_header_funcs = {
143 'pod' : read_pod_header,
144 'tex' : read_latex_header,
145 'doc' : read_latex_header,
146 'bib': read_bib_header,
147 'latex' : read_latex_header,
148 'tely' : read_texinfo_header,
149 'texi': read_texinfo_header,
154 m = re.search ('\\.([^.]*)$', x)
159 head = read_header_funcs [m.group(1)] (s)
162 head.basename = re.sub ("\\.[^.]+", '', x)
164 print_html_head (l, pre, head)
166 l.write ('</ul></body></html>')