Files @ 5dfaa9f1fdb2
Branch filter:

Location: kallithea/docs/make.bat - annotation

5dfaa9f1fdb2 4.0 KiB application/x-msdos-program Show Source Show as Raw Download as Raw
Mads Kiilerich
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())
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
e73a69cb98dc
5f481e4e888b
e73a69cb98dc
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
5f481e4e888b
@ECHO OFF

REM Command file for Sphinx documentation

if "%SPHINXBUILD%" == "" (
	set SPHINXBUILD=sphinx-build
)
set BUILDDIR=_build
set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .
if NOT "%PAPER%" == "" (
	set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
)

if "%1" == "" goto help

if "%1" == "help" (
	:help
	echo.Please use `make ^<target^>` where ^<target^> is one of
	echo.  html       to make standalone HTML files
	echo.  dirhtml    to make HTML files named index.html in directories
	echo.  singlehtml to make a single large HTML file
	echo.  pickle     to make pickle files
	echo.  json       to make JSON files
	echo.  htmlhelp   to make HTML files and a HTML help project
	echo.  qthelp     to make HTML files and a qthelp project
	echo.  devhelp    to make HTML files and a Devhelp project
	echo.  epub       to make an epub
	echo.  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter
	echo.  text       to make text files
	echo.  man        to make manual pages
	echo.  changes    to make an overview over all changed/added/deprecated items
	echo.  linkcheck  to check all external links for integrity
	echo.  doctest    to run all doctests embedded in the documentation if enabled
	goto end
)

if "%1" == "clean" (
	for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
	del /q /s %BUILDDIR%\*
	goto end
)

if "%1" == "html" (
	%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
	echo.
	echo.Build finished. The HTML pages are in %BUILDDIR%/html.
	goto end
)

if "%1" == "dirhtml" (
	%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
	echo.
	echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
	goto end
)

if "%1" == "singlehtml" (
	%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
	echo.
	echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
	goto end
)

if "%1" == "pickle" (
	%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
	echo.
	echo.Build finished; now you can process the pickle files.
	goto end
)

if "%1" == "json" (
	%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
	echo.
	echo.Build finished; now you can process the JSON files.
	goto end
)

if "%1" == "htmlhelp" (
	%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
	echo.
	echo.Build finished; now you can run HTML Help Workshop with the ^
.hhp project file in %BUILDDIR%/htmlhelp.
	goto end
)

if "%1" == "qthelp" (
	%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
	echo.
	echo.Build finished; now you can run "qcollectiongenerator" with the ^
.qhcp project file in %BUILDDIR%/qthelp, like this:
	echo.^> qcollectiongenerator %BUILDDIR%\qthelp\Kallithea.qhcp
	echo.To view the help file:
	echo.^> assistant -collectionFile %BUILDDIR%\qthelp\Kallithea.ghc
	goto end
)

if "%1" == "devhelp" (
	%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
	echo.
	echo.Build finished.
	goto end
)

if "%1" == "epub" (
	%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
	echo.
	echo.Build finished. The epub file is in %BUILDDIR%/epub.
	goto end
)

if "%1" == "latex" (
	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
	echo.
	echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
	goto end
)

if "%1" == "text" (
	%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
	echo.
	echo.Build finished. The text files are in %BUILDDIR%/text.
	goto end
)

if "%1" == "man" (
	%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
	echo.
	echo.Build finished. The manual pages are in %BUILDDIR%/man.
	goto end
)

if "%1" == "changes" (
	%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
	echo.
	echo.The overview file is in %BUILDDIR%/changes.
	goto end
)

if "%1" == "linkcheck" (
	%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
	echo.
	echo.Link check complete; look for any errors in the above output ^
or in %BUILDDIR%/linkcheck/output.txt.
	goto end
)

if "%1" == "doctest" (
	%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
	echo.
	echo.Testing of doctests in the sources finished, look at the ^
results in %BUILDDIR%/doctest/output.txt.
	goto end
)

:end