changeset 6030:5dfaa9f1fdb2

templates: disable special mako error handler - ironically this gives better stack traces Errors in templates could give truncated stack traces pointing at the mako error handler: ... File '.../kallithea/kallithea/controllers/files.py', line 202 in index return render('files/files.html') File '.../kallithea-venv/lib/python2.7/site-packages/pylons/templating.py', line 244 in render_mako cache_type=cache_type, cache_expire=cache_expire) File '.../kallithea-venv/lib/python2.7/site-packages/pylons/templating.py', line 219 in cached_template return render_func() File '.../kallithea-venv/lib/python2.7/site-packages/pylons/templating.py', line 241 in render_template return literal(template.render_unicode(**globs)) File '.../kallithea-venv/lib/python2.7/site-packages/mako/template.py', line 452 in render_unicode as_unicode=True) File '.../kallithea-venv/lib/python2.7/site-packages/mako/runtime.py', line 803 in _render **_kwargs_for_callable(callable_, data)) File '.../kallithea-venv/lib/python2.7/site-packages/mako/runtime.py', line 835 in _render_context _exec_template(inherit, lclcontext, args=args, kwargs=kwargs) File '.../kallithea-venv/lib/python2.7/site-packages/mako/runtime.py', line 855 in _exec_template _render_error(template, context, compat.exception_as()) File '.../kallithea-venv/lib/python2.7/site-packages/mako/runtime.py', line 864 in _render_error result = template.error_handler(context, error) File '.../kallithea-venv/lib/python2.7/site-packages/pylons/error.py', line 22 in handle_mako_error raise (exc, None, sys.exc_info()[2]) AttributeError: 'tuple' object has no attribute 'node' Without the mako error handler we get a full and useful stack trace - including calls in generated but readable .html.py files. File '.../kallithea/kallithea/controllers/files.py', line 202 in index return render('files/files.html') File '.../kallithea-venv/lib/python2.7/site-packages/pylons/templating.py', line 244 in render_mako cache_type=cache_type, cache_expire=cache_expire) File '.../kallithea-venv/lib/python2.7/site-packages/pylons/templating.py', line 219 in cached_template return render_func() File '.../kallithea-venv/lib/python2.7/site-packages/pylons/templating.py', line 241 in render_template return literal(template.render_unicode(**globs)) File '.../kallithea-venv/lib/python2.7/site-packages/mako/template.py', line 452 in render_unicode as_unicode=True) File '.../kallithea-venv/lib/python2.7/site-packages/mako/runtime.py', line 803 in _render **_kwargs_for_callable(callable_, data)) File '.../kallithea-venv/lib/python2.7/site-packages/mako/runtime.py', line 835 in _render_context _exec_template(inherit, lclcontext, args=args, kwargs=kwargs) File '.../kallithea-venv/lib/python2.7/site-packages/mako/runtime.py', line 860 in _exec_template callable_(context, *args, **kwargs) File '.../data/templates/base/root.html.py', line 219 in render_body __M_writer(escape(next.body())) File '.../data/templates/base/base.html.py', line 57 in render_body __M_writer(escape(next.main())) File '.../data/templates/files/files.html.py', line 121 in render_main runtime._include_file(context, u'files_ypjax.html', _template_uri) File '.../kallithea-venv/lib/python2.7/site-packages/mako/runtime.py', line 730 in _include_file callable_(ctx, **_kwargs_for_include(callable_, context._data, **kwargs)) File '.../data/templates/files/files_ypjax.html.py', line 57 in render_body runtime._include_file(context, u'files_source.html', _template_uri) File '.../kallithea-venv/lib/python2.7/site-packages/mako/runtime.py', line 730 in _include_file callable_(ctx, **_kwargs_for_include(callable_, context._data, **kwargs)) File '.../data/templates/files/files_source.html.py', line 117 in render_body __M_writer(escape(h.pygmentize_annotation(c.repo_name,c.file,linenos=True,anchorlinenos=True,lineanchors='L',cssclass="code-highlight"))) File '.../kallithea/kallithea/lib/helpers.py', line 360 in pygmentize_annotation return literal(markup_whitespace(annotate_highlight(filenode, url_func(repo_name), **kwargs))) File '.../kallithea/kallithea/lib/annotate.py', line 57 in annotate_highlight highlighted = highlight(filenode.content, lexer, formatter) File '.../kallithea-venv/lib/python2.7/site-packages/pygments/__init__.py', line 87 in highlight return format(lex(code, lexer), formatter, outfile) File '.../kallithea-venv/lib/python2.7/site-packages/pygments/__init__.py', line 66 in format formatter.format(tokens, realoutfile) File '.../kallithea-venv/lib/python2.7/site-packages/pygments/formatter.py', line 95 in format return self.format_unencoded(tokensource, outfile) File '.../kallithea-venv/lib/python2.7/site-packages/pygments/formatters/html.py', line 850 in format_unencoded for t, piece in source: File '.../kallithea/kallithea/lib/annotate.py', line 168 in _wrap_tablelinenos for el in self.filenode.annotate)) File '.../kallithea/kallithea/lib/annotate.py', line 167 in <genexpr> annotate = ''.join((self.annotate_from_changeset(el[2]()) File '.../kallithea/kallithea/lib/vcs/backends/hg/changeset.py', line 273 in get_file_annotate sha = hex(annotate_data[0].node())
author Mads Kiilerich <madski@unity3d.com>
date Thu, 28 Jul 2016 16:28:34 +0200
parents fb64046d02c2
children d0c0c9e4e71c
files kallithea/config/environment.py
diffstat 1 files changed, 0 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/config/environment.py	Thu Jul 28 16:28:34 2016 +0200
+++ b/kallithea/config/environment.py	Thu Jul 28 16:28:34 2016 +0200
@@ -81,7 +81,6 @@
     # Create the Mako TemplateLookup, with the default auto-escaping
     config['pylons.app_globals'].mako_lookup = mako.lookup.TemplateLookup(
         directories=paths['templates'],
-        error_handler=pylons.error.handle_mako_error,
         strict_undefined=True,
         module_directory=os.path.join(app_conf['cache_dir'], 'templates'),
         input_encoding='utf-8', default_filters=['escape'],