You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1016 B
32 lines
1016 B
5 years ago
|
from __future__ import absolute_import
|
||
|
from future.utils import PY3
|
||
|
__future_module__ = True
|
||
|
|
||
|
if PY3:
|
||
|
from html import *
|
||
|
else:
|
||
|
# cgi.escape isn't good enough for the single Py3.3 html test to pass.
|
||
|
# Define it inline here instead. From the Py3.4 stdlib. Note that the
|
||
|
# html.escape() function from the Py3.3 stdlib is not suitable for use on
|
||
|
# Py2.x.
|
||
|
"""
|
||
|
General functions for HTML manipulation.
|
||
|
"""
|
||
|
|
||
|
def escape(s, quote=True):
|
||
|
"""
|
||
|
Replace special characters "&", "<" and ">" to HTML-safe sequences.
|
||
|
If the optional flag quote is true (the default), the quotation mark
|
||
|
characters, both double quote (") and single quote (') characters are also
|
||
|
translated.
|
||
|
"""
|
||
|
s = s.replace("&", "&") # Must be done first!
|
||
|
s = s.replace("<", "<")
|
||
|
s = s.replace(">", ">")
|
||
|
if quote:
|
||
|
s = s.replace('"', """)
|
||
|
s = s.replace('\'', "'")
|
||
|
return s
|
||
|
|
||
|
__all__ = ['escape']
|