124124 hr_tag_re_from_tab_width ,
125125 xml_escape_attr ,
126126 xml_encode_email_char_at_random ,
127+ html_escape_url ,
127128)
128129
129130# ---- globals
@@ -1511,7 +1512,7 @@ def _do_links(self, text):
15111512 if is_img :
15121513 img_class_str = self ._html_class_str_from_tag ("img" )
15131514 result = '<img src="%s" alt="%s"%s%s%s' \
1514- % (_html_escape_url (url , safe_mode = self .safe_mode ),
1515+ % (html_escape_url (url , safe_mode = self .safe_mode ),
15151516 xml_escape_attr (_AMPERSAND_RE , link_text ),
15161517 title_str ,
15171518 img_class_str ,
@@ -1525,7 +1526,7 @@ def _do_links(self, text):
15251526 if self .safe_mode and not safe_link :
15261527 result_head = '<a href="#"%s>' % (title_str )
15271528 else :
1528- result_head = '<a href="%s"%s>' % (_html_escape_url (url , safe_mode = self .safe_mode ), title_str )
1529+ result_head = '<a href="%s"%s>' % (html_escape_url (url , safe_mode = self .safe_mode ), title_str )
15291530 result = '%s%s</a>' % (result_head , link_text )
15301531 if "smarty-pants" in self .extras :
15311532 result = result .replace ('"' , self ._escape_table ['"' ])
@@ -1567,7 +1568,7 @@ def _do_links(self, text):
15671568 if is_img :
15681569 img_class_str = self ._html_class_str_from_tag ("img" )
15691570 result = '<img src="%s" alt="%s"%s%s%s' \
1570- % (_html_escape_url (url , safe_mode = self .safe_mode ),
1571+ % (html_escape_url (url , safe_mode = self .safe_mode ),
15711572 xml_escape_attr (_AMPERSAND_RE , link_text ),
15721573 title_str ,
15731574 img_class_str ,
@@ -1580,7 +1581,7 @@ def _do_links(self, text):
15801581 if self .safe_mode and not self ._safe_protocols .match (url ):
15811582 result_head = '<a href="#"%s>' % (title_str )
15821583 else :
1583- result_head = '<a href="%s"%s>' % (_html_escape_url (url , safe_mode = self .safe_mode ), title_str )
1584+ result_head = '<a href="%s"%s>' % (html_escape_url (url , safe_mode = self .safe_mode ), title_str )
15841585 result = '%s%s</a>' % (result_head , link_text )
15851586 if "smarty-pants" in self .extras :
15861587 result = result .replace ('"' , self ._escape_table ['"' ])
@@ -2483,17 +2484,6 @@ class UnicodeWithAttrs(str):
24832484 toc_html = None
24842485
24852486
2486- def _html_escape_url (attr , safe_mode = False ):
2487- """Replace special characters that are potentially malicious in url string."""
2488- escaped = (attr
2489- .replace ('"' , '"' )
2490- .replace ('<' , '<' )
2491- .replace ('>' , '>' ))
2492- if safe_mode :
2493- escaped = escaped .replace ('+' , ' ' )
2494- escaped = escaped .replace ("'" , "'" )
2495- return escaped
2496-
24972487
24982488# ---- mainline
24992489
0 commit comments