summaryrefslogtreecommitdiff
path: root/paste/util
diff options
context:
space:
mode:
Diffstat (limited to 'paste/util')
-rw-r--r--paste/util/html.py24
-rw-r--r--paste/util/quoting.py3
2 files changed, 26 insertions, 1 deletions
diff --git a/paste/util/html.py b/paste/util/html.py
new file mode 100644
index 0000000..b0e2ab3
--- /dev/null
+++ b/paste/util/html.py
@@ -0,0 +1,24 @@
+# Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
+
+"""Provide an html.escape method that is python method safe."""
+
+import six
+
+if six.PY3:
+ from html import escape
+else:
+ # This is a copy from Python3.
+ 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("&", "&amp;") # Must be done first!
+ s = s.replace("<", "&lt;")
+ s = s.replace(">", "&gt;")
+ if quote:
+ s = s.replace('"', "&quot;")
+ s = s.replace('\'', "&#x27;")
+ return s
diff --git a/paste/util/quoting.py b/paste/util/quoting.py
index c1f635f..58ea308 100644
--- a/paste/util/quoting.py
+++ b/paste/util/quoting.py
@@ -1,12 +1,13 @@
# (c) 2005 Ian Bicking and contributors; written for Paste (http://pythonpaste.org)
# Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
-import html
import six
import re
from six.moves import html_entities
from six.moves.urllib.parse import quote, unquote
+from paste.util import html
+
__all__ = ['html_quote', 'html_unquote', 'url_quote', 'url_unquote',
'strip_html']