fix useage of TemplateError
authorTero Marttila <terom@fixme.fi>
Mon, 16 Feb 2009 01:40:26 +0200
changeset 71 0162c2b21dc5
parent 70 add1c1f7831c
child 72 5160b9e0edf1
fix useage of TemplateError
template.py
--- 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) :
         """