1. Michael Bayer
  2. mako
  3. Issues

Issues

Issue #209 resolved

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

guest
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()

Result:

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''"

Work-Around:

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

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

...to...

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