start implementing new Image stuff, tie in RenderMachine into the new Image class, assoicated config stuff
from mako import exceptions
from mako.lookup import TemplateLookup
import settings, resources, helpers
import log
"""
Locating and rendering templates
"""
_lookup = TemplateLookup(
directories=[resources.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.debug("render %s with %s", self.name, data)
return self.tpl.render(**data)
except :
data = exceptions.text_error_template().render()
log.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")