Specify UTF-8 encoding when loading Mako template

When loading a Mako template from a Django template, the file
encoding of the Mako template was left unspecified. In some cases,
this would cause the Mako template to be interpreted as an ASCII
template, resulting in blowups if the template was encoded in
UTF-8 (e.g., lms/templates/footer.html).

Now, both the input and output encodings are specified as UTF-8.
This commit is contained in:
Nate Hardison
2013-06-03 17:19:33 -07:00
parent c865641f13
commit 64a85e19e7

View File

@@ -44,7 +44,11 @@ class MakoLoader(object):
if source.startswith("## mako\n"):
# This is a mako template
template = Template(filename=file_path, module_directory=self.module_directory, uri=template_name)
template = Template(filename=file_path,
module_directory=self.module_directory,
input_encoding='utf-8',
output_encoding='utf-8',
uri=template_name)
return template, None
else:
# This is a regular template