From b6e53c7b1be3691514cbf25e3de09d6742a4a587 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Caruana Date: Wed, 31 Jul 2013 11:01:34 +0200 Subject: [PATCH] escape: use xml.etree.ElementTree._escape_attrib to avoid duplication --- sleekxmpp/xmlstream/tostring.py | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/sleekxmpp/xmlstream/tostring.py b/sleekxmpp/xmlstream/tostring.py index addd6989..4d7976b1 100644 --- a/sleekxmpp/xmlstream/tostring.py +++ b/sleekxmpp/xmlstream/tostring.py @@ -16,7 +16,7 @@ from __future__ import unicode_literals import sys -from xml.etree.ElementTree import _escape_cdata, _raise_serialization_error +from xml.etree.ElementTree import _escape_cdata, _escape_attrib if sys.version_info < (3, 0): import types @@ -146,20 +146,7 @@ def escape(text, use_cdata=False): if use_cdata: return _escape_cdata(text, encoding) - # copied from xml.etree.ElementTree._escape_attrib with "'" case - try: - if "&" in text: - text = text.replace("&", "&") - if "<" in text: - text = text.replace("<", "<") - if ">" in text: - text = text.replace(">", ">") - if "\"" in text: - text = text.replace("\"", """) - if "'" in text: - text = text.replace("'", "'") - if "\n" in text: - text = text.replace("\n", " ") - return text.encode(encoding, "xmlcharrefreplace") - except (TypeError, AttributeError): - _raise_serialization_error(text) + text = _escape_attrib(text, encoding) + if "'" in text: + text = text.replace("'", "'") + return text