#!/afs/bx.psu.edu/project/pythons/linux-x86_64-ucs4/bin/python2.6 def render(data): from mako.template import Template from mako.lookup import TemplateLookup lookup = TemplateLookup(["."]) 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()