X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/6642c1c71c5c6ce6ef3401c8c9da84cf076b018b..f8e5f031c04122d65d1066077be3920ae95518ae:/scripts/book2ihtml diff --git a/scripts/book2ihtml b/scripts/book2ihtml new file mode 100755 index 0000000..2f94be9 --- /dev/null +++ b/scripts/book2ihtml @@ -0,0 +1,54 @@ +#!/usr/bin/env python +import os +import optparse + +from librarian import html, ParseError + + +if __name__ == '__main__': + # Parse commandline arguments + usage = """Usage: %prog [options] SOURCE [SOURCE...] + Convert SOURCE files to HTML format.""" + + parser = optparse.OptionParser(usage=usage) + + parser.add_option('-v', '--verbose', action='store_true', dest='verbose', default=False, + help='print status messages to stdout') + parser.add_option('-i', '--ignore-dublin-core', action='store_false', dest='parse_dublincore', default=True, + help='don\'t try to parse dublin core metadata') + + options, input_filenames = parser.parse_args() + + if len(input_filenames) < 1: + parser.print_help() + exit(1) + + # Do some real work + for input_filename in input_filenames: + if options.verbose: + print input_filename + + output_filename = os.path.splitext(input_filename)[0] + '.html' + try: + html.transform(input_filename, output_filename, parse_dublincore=options.parse_dublincore,\ + stylesheet='partial') + except ParseError, e: + print '%(file)s:%(name)s:%(message)s' % { + 'file': input_filename, + 'name': e.__class__.__name__, + 'message': e.message.encode('utf-8') + } + except IOError, e: + print '%(file)s:%(name)s:%(message)s' % { + 'file': input_filename, + 'name': e.__class__.__name__, + 'message': e.strerror, + } + except BaseException, e: + print '%(file)s:%(etype)s:%(message)s' % { + 'file': input_filename, + 'etype': e.__class__.__name__, + 'message': e.message.encode('utf-8'), + } + raise e +