--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/template.py Fri Dec 21 20:36:03 2007 +0000
@@ -0,0 +1,45 @@
+from mako import exceptions
+from mako.lookup import TemplateLookup
+
+import settings, helpers
+
+import log
+
+_lookup = TemplateLookup(
+ directories=[settings.TEMPLATE_DIR],
+ module_directory='%s/cache' % settings.TEMPLATE_DIR,
+ output_encoding='utf-8',
+ filesystem_checks=False, # this may need to be changed if used in a long-term process
+)
+
+TEMPLATE_GLOBALS = dict(
+ h = helpers,
+ version = settings.VERSION,
+)
+
+class Template (object) :
+ def __init__ (self, name) :
+ self.name = name
+ self.tpl = _lookup.get_template("%s.%s" % (name, settings.TEMPLATE_EXT))
+
+ def render (self, **data) :
+ data.update(TEMPLATE_GLOBALS)
+
+ try :
+ log.template.debug("render %s with %s", self.name, data)
+ return self.tpl.render(**data)
+ except :
+ data = exceptions.text_error_template().render()
+ log.template.error(data)
+
+ raise
+
+ def render_to (self, file, **data) :
+ fh = open(file, "w")
+ fh.write(self.render(**data))
+ fh.close()
+
+# templates
+gallery = Template("gallery")
+image = Template("image")
+