From f55222d98fd08c469a447ee18c2922b763794fa2 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Mon, 28 Oct 2002 17:29:01 +0000 Subject: Avoid calling __dict_replace() if we don't need to -- the call is much more expensive than just doing to work needed, and these things seem to always turn into a bottleneck eventually. --- Lib/xml/sax/saxutils.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Lib/xml/sax/saxutils.py b/Lib/xml/sax/saxutils.py index c369f98..049e09c 100644 --- a/Lib/xml/sax/saxutils.py +++ b/Lib/xml/sax/saxutils.py @@ -28,10 +28,11 @@ def escape(data, entities={}): # must do ampersand first data = data.replace("&", "&") - data = __dict_replace(data, {"<" : "<", - ">" : ">", - }) - return __dict_replace(data, entities) + data = data.replace(">", ">") + data = data.replace("<", "<") + if entities: + data = __dict_replace(data, entities) + return data def unescape(data, entities={}): """Unescape &, <, and > in a string of data. @@ -40,12 +41,13 @@ def unescape(data, entities={}): the optional entities parameter. The keys and values must all be strings; each key will be replaced with its corresponding value. """ - data = __dict_replace(data, {"<" : "<", - ">" : ">", - }) + data = data.replace("<", "<") + data = data.replace(">", ">") # must do ampersand last data = data.replace("&", "&") - return __dict_replace(data, entities) + if entities: + data = __dict_replace(data, entities) + return data def quoteattr(data, entities={}): """Escape and quote an attribute value. -- cgit v0.12