diff options
Diffstat (limited to 'scripts/mako-render')
| -rw-r--r-- | scripts/mako-render | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/scripts/mako-render b/scripts/mako-render index 1ea2790..d4b54ea 100644 --- a/scripts/mako-render +++ b/scripts/mako-render @@ -1,11 +1,16 @@ #!/usr/bin/env python -def render(data): +def render(data, kw): from mako.template import Template from mako.lookup import TemplateLookup lookup = TemplateLookup(["."]) - return Template(data, lookup=lookup).render() + return Template(data, lookup=lookup).render(**kw) + +def varsplit(var): + if "=" not in var: + return (var, "") + return var.split("=", 1) def main(argv=None): from os.path import isfile @@ -18,6 +23,8 @@ def main(argv=None): from optparse import OptionParser parser = OptionParser("usage: %prog [FILENAME]") + parser.add_option("--var", default=[], action="append", + help="variable (can be used multiple times, use name=value)") opts, args = parser.parse_args(argv[1:]) if len(args) not in (0, 1): @@ -31,8 +38,9 @@ def main(argv=None): raise SystemExit("error: can't find %s" % filename) fo = open(filename) + kw = dict([varsplit(var) for var in opts.var]) data = fo.read() - print render(data) + print render(data, kw) if __name__ == "__main__": main() |
