chiark / gitweb /
build-sys: force Python to write UTF-8
authorKelly Anderson <kelly@xilka.com>
Fri, 29 Mar 2013 23:23:35 +0000 (19:23 -0400)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 30 Mar 2013 00:30:22 +0000 (20:30 -0400)
Here is a patch that fixes documentation with python 3.x in non utf-8
locales.  Specifically in my locale latin-1 is the default setting for
output going to stdout, which causes it to fail. By writing directly
to file we are able to set the locale to utf-8.

xml_helper.py

index a484bea..08e226f 100644 (file)
@@ -28,7 +28,8 @@ try:
     _parser = tree.XMLParser()
     _parser.resolvers.add(CustomResolver())
     xml_parse = lambda page: tree.parse(page, _parser)
-    xml_print = lambda xml: tree.tostring(xml, pretty_print=True)
+    xml_print = lambda xml: tree.tostring(xml, pretty_print=True,
+                                          encoding='utf-8')
 except ImportError:
     import xml.etree.ElementTree as tree
     import re as _re
@@ -37,4 +38,4 @@ except ImportError:
     def xml_parse(page):
         s = _re.sub(b'&[a-zA-Z0-9_]+;', b'', open(page, 'rb').read())
         return tree.parse(_io.BytesIO(s))
-    xml_print = tree.tostring
+    xml_print = lambda xml: tree.tostring(xml, encoding='utf-8')