+
+def make_html_menu_file (html_file, files_found):
+ exts = {
+ 'pdf' : "Print (PDF, %s)",
+ 'ps.gz' : "Print (gzipped PostScript, %s)",
+ 'png' : "View (PNG, %s)",
+ 'midi' : "Listen (MIDI, %s)",
+ 'ly' : "View source code (%s)",
+ }
+ html_str = ''
+
+ pages = filter (lambda x : re.search ('page[0-9]+.png', x),
+ files_found)
+ rest = filter (lambda x : not re.search ('page[0-9]+.png', x),
+ files_found)
+
+ preview = filter (lambda x: re.search ('.png$', x), rest)
+ if preview:
+ html_str = '<img src="%s">' % preview[0]
+
+ for p in pages:
+ page = re.sub ('.*page([0-9])+.*', 'View page \\1 (PNG picture, %s)\n', p)
+ page = page % 'unknown size'
+
+ html_str += '<li><a href="%s">%s</a>' % (p, page)
+
+
+ for e in ['pdf', 'ps.gz', 'midi', 'ly']:
+ fs = filter (lambda x: re.search ('.%s$' % e, x), rest)
+ for f in fs:
+ entry = exts[e] % 'unknown size' # todo
+ html_str += '<li><a href="%s">%s</a>\n\n' % (f, entry)
+
+ html_str += "\n\n</li>"
+ ly.progress (_("Writing HTML menu `%s'") % html_file)
+ ly.progress ('\n')
+ open (html_file, 'w').write (html_str)