comparison scripts/fontaine @ 9:a5488b474c6b

Add HTML renderer.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 04 Jan 2017 02:56:08 -0800
parents 9053902c750e
children 2cea36073188
comparison
equal deleted inserted replaced
8:02d2e4d8b0c1 9:a5488b474c6b
9 9
10 def main(): 10 def main():
11 parser = argparse.ArgumentParser( 11 parser = argparse.ArgumentParser(
12 description='Fontaine command line utility') 12 description='Fontaine command line utility')
13 parser.add_argument('script') 13 parser.add_argument('script')
14 parser.add_argument('out_file', nargs='?')
14 args = parser.parse_args() 15 args = parser.parse_args()
15 16
16 from fontaine.parser import FontaineParser 17 from fontaine.parser import FontaineParser
17 from fontaine.console import ConsoleDocumentRenderer
18 p = FontaineParser() 18 p = FontaineParser()
19 doc = p.parse(args.script) 19 doc = p.parse(args.script)
20 rdr = ConsoleDocumentRenderer()
21 rdr.render_doc(doc)
22 20
21 if not args.out_file:
22 from fontaine.console import ConsoleDocumentRenderer
23 rdr = ConsoleDocumentRenderer()
24 rdr.render_doc(doc, sys.stdout)
25 else:
26 from fontaine.html import HtmlDocumentRenderer
27 rdr = HtmlDocumentRenderer()
28 with open(args.out_file, 'w') as fp:
29 rdr.render_doc(doc, fp)
23 30
24 if __name__ == '__main__': 31 if __name__ == '__main__':
25 main() 32 main()