Added an invirt mako render script.
[invirt/packages/invirt-base.git] / scripts / invirt-mako-render
diff --git a/scripts/invirt-mako-render b/scripts/invirt-mako-render
new file mode 100755 (executable)
index 0000000..1eaeede
--- /dev/null
@@ -0,0 +1,40 @@
+#!/usr/bin/python
+# Modified from mako-render by gdb.
+# TODO: set the lookup path dynamically.
+
+def render(data):
+    from mako.template import Template
+    from mako.lookup import TemplateLookup
+
+    lookup = TemplateLookup(['.', '/etc/apache2/conf.invirt'])
+    return Template(data, lookup=lookup).render()
+
+def main(argv=None):
+    from os.path import isfile
+    from sys import stdin
+
+    if argv is None:
+        import sys
+        argv = sys.argv
+
+    from optparse import OptionParser
+
+    parser = OptionParser("usage: %prog [FILENAME]")
+
+    opts, args = parser.parse_args(argv[1:])
+    if len(args) not in (0, 1):
+        parser.error("wrong number of arguments") # Will exit
+
+    if (len(args) == 0) or (args[0] == "-"):
+        fo = stdin
+    else:
+        filename = args[0]
+        if not isfile(filename):
+            raise SystemExit("error: can't find %s" % filename)
+        fo = open(filename)
+
+    data = fo.read()
+    print render(data)
+
+if __name__ == "__main__":
+    main()