mako-render 897 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/usr/bin/env python
  2. def render(data):
  3. from mako.template import Template
  4. from mako.lookup import TemplateLookup
  5. lookup = TemplateLookup(["."])
  6. return Template(data, lookup=lookup).render()
  7. def main(argv=None):
  8. from os.path import isfile
  9. from sys import stdin
  10. if argv is None:
  11. import sys
  12. argv = sys.argv
  13. from optparse import OptionParser
  14. parser = OptionParser("usage: %prog [FILENAME]")
  15. opts, args = parser.parse_args(argv[1:])
  16. if len(args) not in (0, 1):
  17. parser.error("wrong number of arguments") # Will exit
  18. if (len(args) == 0) or (args[0] == "-"):
  19. fo = stdin
  20. else:
  21. filename = args[0]
  22. if not isfile(filename):
  23. raise SystemExit("error: can't find %s" % filename)
  24. fo = open(filename)
  25. data = fo.read()
  26. print render(data)
  27. if __name__ == "__main__":
  28. main()