+ if isinstance(s, str):
+ return s.translate(str_xml_escape_table)
+ else:
+ return s.translate(unicode_xml_escape_table)
+
+
+def test_xmlrpclib_escape():
+ incomings = [
+ # full ASCII
+ "".join((chr(x) for x in range(128))),
+ # likewise but as a unicode string up to 256
+ "".join((chr(x) for x in range(256))),
+ ]
+ for incoming in incomings:
+ print("==================== xmlrpclib_escape INPUT")
+ print(type(incoming), '->', incoming)
+ print("==================== xmlrpclib_escape OUTPUT")
+ print(xmlrpclib_escape(incoming))
+