--- a/template.py Mon Feb 16 01:10:21 2009 +0200
+++ b/template.py Mon Feb 16 01:40:26 2009 +0200
@@ -25,6 +25,13 @@
pass
+def fmt_mako_exception () :
+ """
+ Returns a string containing the Mako-ized error traceback (so that it includes the template data)
+ """
+
+ return exceptions.text_error_template().render()
+
class TemplateLoader (mako.lookup.TemplateLookup) :
"""
Our own specialization of mako's TemplateLookup
@@ -82,9 +89,7 @@
except :
# raise a TemplateError with the details
- details = exceptions.text_error_template().render()
-
- raise TemplateError("Template render failed", status='500 Internal Server Error', details=details)
+ raise TemplateError("tpl=%r, params=%r: %s" % (tpl, params, fmt_mako_exception()))
else :
# return the unicode data
@@ -99,7 +104,7 @@
return self.get_template("%s.%s" % (name, self.fileext))
except :
- raise TemplateError("Template broken: %r" % (name, ), status='500 Internal Server Error', details=exceptions.text_error_template().render())
+ raise TemplateError("name=%r: %s" % (name, fmt_mako_exception()))
def render (self, name, **params) :
"""
@@ -124,7 +129,7 @@
return Template(filename=path, module_directory=CACHE_DIR)
except :
- raise TemplateError("Template broken: %r" % (path, ), status='500 Internal Server Error', details=exceptions.text_error_template().render())
+ raise TemplateError("path=%r: %s" % (path, fmt_mako_exception()))
def render_file (self, path, **params) :
"""