add possibility for outpit file, parameterize report.gj
[talweg.git] / reports / ipynb_generator.py
index fedfa40..339f96a 100755 (executable)
@@ -17,7 +17,7 @@ shortname2language = dict(
     tex='Tex',
     )
 
-def read(text, argv=sys.argv[2:]):
+def read(text, argv=sys.argv[3:]):
     lines = text.splitlines()
     # First read all include statements
     for i in range(len(lines)):
@@ -122,17 +122,18 @@ def write(cells):
 def driver():
     """Compile a document and its variables."""
     try:
-        filename = sys.argv[1]
+        inputfile = sys.argv[1]
         with open(filename, 'r') as f:
             text = f.read()
+        outputfile = '-' if len(sys.argv) <= 2 else sys.argv[2]
     except (IndexError, IOError) as e:
-        print('Usage: %s filename' % (sys.argv[0]))
+        print('Usage: %s inputfile [outputfile|- [Mako args]]' % (sys.argv[0]))
         print(e)
         sys.exit(1)
-    cells = read(text, argv=sys.argv[2:])
+    cells = read(text, argv=sys.argv[3:])
     filestr = write(cells)
     # Assuming file extension .gj (generate Jupyter); TODO: less strict
-    filename = filename[:-3] + '.ipynb'
+    outputfile = inputfile[:-3]+'.ipynb' if outputfile == '-' else outputfile
     with open(filename, 'w') as f:
         f.write(filestr)