mirror of https://github.com/python/cpython
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.
This commit is contained in:
parent
15941e6a63
commit
f55222d98f
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue