Commit ed6ec070 authored by JINMEI Tatuya's avatar JINMEI Tatuya
Browse files

[trac710] make sure in xml_handler() the textual representation of XML

is a correct string (not bytes, not a string in the form of "b'XXX'")
regardless of whether xml.etree.ElementTree.tostring() returns bytes or
string by default.
parent 97131f97
......@@ -437,8 +437,15 @@ class StatsHttpd:
(k, v) = (str(k), str(v))
elem = xml.etree.ElementTree.Element(k)
elem.text = v
# The coding conversion is tricky. xml..tostring() of Python 3.2
# returns bytes (not string) regardless of the coding, while
# tostring() of Python 3.1 returns a string. To support both
# cases transparently, we first make sure tostring() returns
# bytes by specifying utf-8 and then convert the result to a
# plain string (code below assume it).
xml_list.append(
str(xml.etree.ElementTree.tostring(elem)))
str(xml.etree.ElementTree.tostring(elem, encoding='utf-8'),
encoding='us-ascii'))
xml_string = "".join(xml_list)
self.xml_body = self.open_template(XML_TEMPLATE_LOCATION).substitute(
xml_string=xml_string,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment