Switch from optparse to argparse and clean up a bit
authorBen Steffen <bds@mit.edu>
Tue, 26 Nov 2019 05:30:49 +0000 (00:30 -0500)
committerBen Steffen <bds@mit.edu>
Tue, 26 Nov 2019 05:30:49 +0000 (00:30 -0500)
scripts/invirt-mako-render

index ea3f7da..ba74584 100755 (executable)
@@ -2,37 +2,31 @@
 # Modified from mako-render by gdb.
 # TODO: set the lookup path dynamically.
 
-def render(data):
-
-    lookup = TemplateLookup(['.', '/etc/apache2/conf.invirt'])
-    return Template(data, lookup=lookup).render()
 import sys
 import argparse
 
-def main(argv=None):
 from mako.template import Template
 from mako.lookup import TemplateLookup
 
-    if argv is None:
-        argv = sys.argv
 
+def render(data):
+    lookup = TemplateLookup(['.', '/etc/apache2/conf.invirt'])
+    return Template(data, lookup=lookup).render()
 
-    parser = OptionParser("usage: %prog [FILENAME]")
+def main():
+    parser = argparse.ArgumentParser(description='Render mako template')
+    parser.add_argument('filename', nargs='?', default=None)
 
-    opts, args = parser.parse_args(argv[1:])
-    if len(args) not in (0, 1):
-        parser.error("wrong number of arguments") # Will exit
+    args = parser.parse_args()
 
-    if (len(args) == 0) or (args[0] == "-"):
-        fo = stdin
+    if args.filename == "-" or args.filename is None:
+        fo = sys.stdin
     else:
-        filename = args[0]
-        if not isfile(filename):
-            raise SystemExit("error: can't find %s" % filename)
-        fo = open(filename)
+        fo = open(args.filename)
 
     data = fo.read()
-    print render(data)
+    print(render(data))
+
 
 if __name__ == "__main__":
     main()