summaryrefslogtreecommitdiff
path: root/paste/util
diff options
context:
space:
mode:
authorChris Dent <cdent@anticdent.org>2018-10-24 22:46:20 +0100
committerChris Dent <cdent@anticdent.org>2018-10-24 22:46:20 +0100
commit00f4fde04bdd841ec88c2b62dd9dcab92a3d019d (patch)
treedbd1466a951c44cb7f5f94847d8b1dbde024b89c /paste/util
parent9ceef07267ba83ea5c00533f85f9edf9ba38cd71 (diff)
downloadpaste-git-00f4fde04bdd841ec88c2b62dd9dcab92a3d019d.tar.gz
Remove use of future
Future is calling installation endless recursion. We are only using it for an html.escape method, so we make our own and get rid of future. Related-Bug: #6
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']