diff -r 27dac27d1a58 -r c2d8e9a754a1 lib/template.py --- /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") +