def render_node(self, node, context): try: result = node.render(context) except TemplateSyntaxError as e: if not hasattr(e, 'source'): e.source = node.source raise except Exception as e: from sys import exc_info wrapped = TemplateSyntaxError('Caught %s while rendering: %s' % (e.__class__.__name__, force_unicode(e, errors='replace'))) wrapped.source = node.source wrapped.exc_info = exc_info() raise wrapped.with_traceback(wrapped.exc_info[2]) return result
def source_error(self, source,msg): e = TemplateSyntaxError(msg) e.source = source return e
def source_error(self, source, msg): e = TemplateSyntaxError(msg) e.source = source return e