1. Michael Bayer
  2. mako
  3. Issues


Issue #209 resolved

mako.exceptions Tries to do b"bytes".split() when rendering text_error_template, and fails (in Python 3)

created an issue

Magical combination:

  • Python 3
  • TemplateLookup being used with...
  • ...module_directory
  • Template's render() must fail (due to no such argument, for example)
  • While handling exception, do mako.exceptions.text_error_template().render()


While trying to display error template, another exception is thrown because byte-strings don't have split().

"''During handling of the above exception, another exception occurred [...snip...] for line in module_source.split("\n"): TypeError: Type str doesn't support the buffer API''"


To "fix" this, change line 170 in mako/exceptions.py from:

for line in module_source.split("\n"):


for line in module_source.decode('utf-8').split("\n"):

I believe 'utf-8' will need to be replaced with something else.

Comments (1)

  1. Log in to comment