Move all imports to top of file and organize
[invirt/packages/invirt-base.git] / scripts / invirt-mako-render
1 #!/usr/bin/python
2 # Modified from mako-render by gdb.
3 # TODO: set the lookup path dynamically.
4
5 from os.path import isfile
6 from sys import stdin
7 import sys
8 from optparse import OptionParser
9
10 from mako.template import Template
11 from mako.lookup import TemplateLookup
12
13
14 def render(data):
15     lookup = TemplateLookup(['.', '/etc/apache2/conf.invirt'])
16     return Template(data, lookup=lookup).render()
17
18 def main(argv=None):
19     if argv is None:
20         argv = sys.argv
21
22     parser = OptionParser("usage: %prog [FILENAME]")
23
24     opts, args = parser.parse_args(argv[1:])
25     if len(args) not in (0, 1):
26         parser.error("wrong number of arguments") # Will exit
27
28     if (len(args) == 0) or (args[0] == "-"):
29         fo = stdin
30     else:
31         filename = args[0]
32         if not isfile(filename):
33             raise SystemExit("error: can't find %s" % filename)
34         fo = open(filename)
35
36     data = fo.read()
37     print render(data)
38
39 if __name__ == "__main__":
40     main()