Removed the html_escape code from libhtml and using saxutils for escaping characters. Thank you, Gerald Britton, for the better way.
svn: r16639
This commit is contained in:
parent
4dd853135e
commit
1b08fdb508
@ -104,46 +104,6 @@ _START_CLOSE = set([
|
||||
'param'
|
||||
])
|
||||
|
||||
_html_dbl_quotes = re.compile(r'([^"]*) " ([^"]*) " (.*)', re.VERBOSE)
|
||||
_html_sng_quotes = re.compile(r"([^']*) ' ([^']*) ' (.*)", re.VERBOSE)
|
||||
_html_replacement = {
|
||||
"&" : "&",
|
||||
">" : ">",
|
||||
"<" : "<",
|
||||
"°" : "",
|
||||
}
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
# html_ecape function
|
||||
#-----------------------------------------------------------------------
|
||||
# This command then defines the 'html_escape' option for escaping
|
||||
# special characters for presentation in HTML based on the above list.
|
||||
def html_escape(text):
|
||||
"""Convert the text and replace some characters with a &# variant."""
|
||||
|
||||
# First single characters, no quotes
|
||||
text = ''.join([_html_replacement.get(c, c) for c in text])
|
||||
|
||||
# Deal with double quotes.
|
||||
while 1:
|
||||
m = _html_dbl_quotes.match(text)
|
||||
if not m:
|
||||
break
|
||||
text = m.group(1) + '“' + m.group(2) + '”' + m.group(3)
|
||||
# Replace remaining double quotes.
|
||||
text = text.replace('"', '"')
|
||||
|
||||
# Deal with single quotes.
|
||||
text = text.replace("'s ", '’s ')
|
||||
while 1:
|
||||
m = _html_sng_quotes.match(text)
|
||||
if not m:
|
||||
break
|
||||
text = m.group(1) + '‘' + m.group(2) + '’' + m.group(3)
|
||||
# Replace remaining single quotes.
|
||||
text = text.replace("'", ''')
|
||||
|
||||
return text
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
# Html class.
|
||||
|
@ -103,8 +103,8 @@ from libhtmlconst import _CHARACTER_SETS, _CC, _COPY_OPTIONS
|
||||
# src/plugins/lib/libhtml.py
|
||||
from libhtml import Html
|
||||
|
||||
#import the html_escape function
|
||||
from libhtml import html_escape as html_escape
|
||||
# ability to escape characters from html output
|
||||
from xml.sax.saxutils import escape as html_escape
|
||||
|
||||
# import styled notes from
|
||||
# src/plugins/lib/libhtmlbackend.py
|
||||
|
Loading…
Reference in New Issue
Block a user