From: Alek Storm Date: Mon, 12 Sep 2011 18:18:35 +0000 (+0000) Subject: Log "stacktrace" of templace source lines when an exception is raised for more conven... X-Git-Tag: v2.2.0~71^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=abcac64c377c2af47d54ef03fb216694fff34fca;p=thirdparty%2Ftornado.git Log "stacktrace" of templace source lines when an exception is raised for more convenient debugging --- diff --git a/tornado/template.py b/tornado/template.py index f28f40355..bc131fb17 100644 --- a/tornado/template.py +++ b/tornado/template.py @@ -177,6 +177,8 @@ import logging import os.path import posixpath import re +import sys +import traceback from tornado import escape from tornado.util import bytes_type @@ -192,6 +194,7 @@ class Template(object): """ def __init__(self, template_string, name="", loader=None, compress_whitespace=None, autoescape=_UNSET): + self.template_string = template_string self.name = name if compress_whitespace is None: compress_whitespace = name.endswith(".html") or \ @@ -203,13 +206,14 @@ class Template(object): else: self.autoescape = _DEFAULT_AUTOESCAPE self.namespace = loader.namespace if loader else {} - reader = _TemplateReader(name, escape.native_str(template_string)) - self.file = _File(_parse(reader, self)) - self.code = self._generate_python(loader, compress_whitespace) + reader = _TemplateReader(name, escape.native_str(self.template_string)) + self.file = _File(self, _parse(reader, self)) + self.code, self.line_numbers = self._generate_python( + loader, compress_whitespace) + self.loader = loader try: self.compiled = compile(escape.to_unicode(self.code), - "