#!/usr/bin/env python # Copyright © 1999, 2000 Progiciels Bourbeau-Pinard inc. # François Pinard , 1999. """\ Generate HTML pages covering GIF slides out an MGP presentation. Usage: m17n99-to-html [OPTION]... -C HTMLDIR Create HTML files within HTMLDIR instead of on stdout """ import getopt, os, re, string, sys import htmlpage def main(*arguments): if not arguments: sys.stdout.write(__doc__) sys.exit(0) # Decode options. htmldir = None options, arguments = getopt.getopt(arguments, 'C:') for option, value in options: if option == '-C': htmldir = value assert len(arguments) == 0 # Read all titles. titles = [] armed = 0 for line in open('../m17n99/mgp/slide-show').readlines(): if line == '%page\n': armed = 1 elif armed and line[0] not in '%\n': titles.append(line[:-1]) armed = 0 #del titles[0] # Generate the index page. workfile = '/tmp/m17n99.html' write = open(workfile, 'w').write for line in open('m17n99.html').readlines(): if line == 'INSERTION_POINT\n': write('

Slide index

\n') write('\n') else: write(line) write = None htmlpage.transform_html(workfile, '%s/m17n99.html' % htmldir, None) os.remove(workfile) # Generate all slide pages. for counter in range(len(titles)): write = open('%s/slide-%02d.html' % (htmldir, counter+1), 'w').write open_page(write, 'Slide show - slide no. %02d' % (counter+1)) write('

Slide %02d/%02d

\n' ' Slide index\n' % (counter+1, len(titles))) if counter > 0: write(' , Previous slide\n' % counter) if counter < len(titles) - 1: write(' , Next slide\n' % (counter+2)) write('
\n' ' Slide: %s\n' % (counter+1, titles[counter])) close_page(write) def open_page(write, title): write('''\ %s ''' % (title, sys.argv[0])) def close_page(write): write('''\ ''') if __name__ == '__main__': apply(main, tuple(sys.argv[1:]))