mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-09-01 14:35:29 +00:00
[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.
This commit is contained in:
9
src/bin/stats/stats_httpd.py.in
Normal file → Executable file
9
src/bin/stats/stats_httpd.py.in
Normal file → Executable file
@@ -437,8 +437,15 @@ class StatsHttpd:
|
|||||||
(k, v) = (str(k), str(v))
|
(k, v) = (str(k), str(v))
|
||||||
elem = xml.etree.ElementTree.Element(k)
|
elem = xml.etree.ElementTree.Element(k)
|
||||||
elem.text = v
|
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(
|
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)
|
xml_string = "".join(xml_list)
|
||||||
self.xml_body = self.open_template(XML_TEMPLATE_LOCATION).substitute(
|
self.xml_body = self.open_template(XML_TEMPLATE_LOCATION).substitute(
|
||||||
xml_string=xml_string,
|
xml_string=xml_string,
|
||||||
|
Reference in New Issue
Block a user