From 0fbc4842a9e9545cb8f3111e25ece14739507266 Mon Sep 17 00:00:00 2001 From: Greg Brockman Date: Sun, 31 Jan 2010 22:48:26 -0500 Subject: [PATCH] Added an invirt mako render script. svn path=/trunk/packages/invirt-base/; revision=2977 --- debian/changelog | 6 ++++++ files/lib/init/gen-files.sh | 4 ++-- scripts/invirt-mako-render | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 2 deletions(-) create mode 100755 scripts/invirt-mako-render diff --git a/debian/changelog b/debian/changelog index ff1b3fb..554cc5c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +invirt-base (0.0.31) unstable; urgency=low + + * Added an invirt mako render script. + + -- Greg Brockman Sat, 23 Jan 2010 00:48:44 -0500 + invirt-base (0.0.30) unstable; urgency=low * Cleanup the handling of triggers...so that it actually works. diff --git a/files/lib/init/gen-files.sh b/files/lib/init/gen-files.sh index 2baa994..23ff8ad 100644 --- a/files/lib/init/gen-files.sh +++ b/files/lib/init/gen-files.sh @@ -6,12 +6,12 @@ if [ $BASH_VERSION ]; then gen_files() { for f in "${GEN_FILES[@]}"; do - mako-render "$f".mako >"$f" + invirt-mako-render "$f".mako >"$f" done } else gen_files() { - mako-render "$GEN_FILES".mako >"$GEN_FILES" + invirt-mako-render "$GEN_FILES".mako >"$GEN_FILES" } fi diff --git a/scripts/invirt-mako-render b/scripts/invirt-mako-render new file mode 100755 index 0000000..1eaeede --- /dev/null +++ b/scripts/invirt-mako-render @@ -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() -- 1.7.9.5