Don't encode already encoded entities
This commit is contained in:
parent
1c7f83acf6
commit
41d5414245
2 changed files with 4 additions and 7 deletions
|
|
@ -41,6 +41,8 @@ class TestFormatMode(unittest.TestCase):
|
|||
('test <danger>', 'test <danger>'),
|
||||
('test <danger="true">', 'test <danger="true">'),
|
||||
("test <danger='true'>", 'test <danger='true'>'),
|
||||
('test&test', 'test&test'),
|
||||
('test&test', 'test&test'),
|
||||
)
|
||||
|
||||
for input, output in tests:
|
||||
|
|
|
|||
|
|
@ -106,12 +106,7 @@ class DecodeUTF8(Cheetah.Filters.Filter):
|
|||
class XHTMLFilter(DecodeUTF8):
|
||||
def filter(self, *args, **kw):
|
||||
result = super(XHTMLFilter, self).filter(*args, **kw)
|
||||
result = result.replace('&', '&')
|
||||
result = result.replace('&amp;', '&')
|
||||
result = result.replace('&nbsp;', ' ')
|
||||
result = result.replace('&lt;', '<')
|
||||
result = result.replace('&gt;', '>')
|
||||
return result
|
||||
return re.sub(r'&(?![a-zA-Z0-9#]+;)', '&', result)
|
||||
|
||||
|
||||
TEMPLATES = {}
|
||||
|
|
@ -600,7 +595,7 @@ def escapeHTML(value):
|
|||
return value
|
||||
|
||||
value = koji.fixEncoding(value)
|
||||
return value.replace('&', '&').\
|
||||
return re.sub(r'&(?![a-zA-Z0-9#]+;)', '&', value).\
|
||||
replace('<', '<').\
|
||||
replace('>', '>').\
|
||||
replace('"', '"').\
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue