diff 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
line wrap: on
line diff
--- a/scripts/fontaine	Wed Jan 04 02:55:20 2017 -0800
+++ b/scripts/fontaine	Wed Jan 04 02:56:08 2017 -0800
@@ -11,15 +11,22 @@
     parser = argparse.ArgumentParser(
         description='Fontaine command line utility')
     parser.add_argument('script')
+    parser.add_argument('out_file', nargs='?')
     args = parser.parse_args()
 
     from fontaine.parser import FontaineParser
-    from fontaine.console import ConsoleDocumentRenderer
     p = FontaineParser()
     doc = p.parse(args.script)
-    rdr = ConsoleDocumentRenderer()
-    rdr.render_doc(doc)
 
+    if not args.out_file:
+        from fontaine.console import ConsoleDocumentRenderer
+        rdr = ConsoleDocumentRenderer()
+        rdr.render_doc(doc, sys.stdout)
+    else:
+        from fontaine.html import HtmlDocumentRenderer
+        rdr = HtmlDocumentRenderer()
+        with open(args.out_file, 'w') as fp:
+            rdr.render_doc(doc, fp)
 
 if __name__ == '__main__':
     main()