diff options
author | Chris Dent <cdent@anticdent.org> | 2018-10-24 22:46:20 +0100 |
---|---|---|
committer | Chris Dent <cdent@anticdent.org> | 2018-10-24 22:46:20 +0100 |
commit | 00f4fde04bdd841ec88c2b62dd9dcab92a3d019d (patch) | |
tree | dbd1466a951c44cb7f5f94847d8b1dbde024b89c /paste | |
parent | 9ceef07267ba83ea5c00533f85f9edf9ba38cd71 (diff) | |
download | paste-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')
-rw-r--r-- | paste/evalexception/middleware.py | 2 | ||||
-rw-r--r-- | paste/exceptions/formatter.py | 2 | ||||
-rw-r--r-- | paste/url.py | 2 | ||||
-rw-r--r-- | paste/urlmap.py | 2 | ||||
-rw-r--r-- | paste/util/html.py | 24 | ||||
-rw-r--r-- | paste/util/quoting.py | 3 |
6 files changed, 30 insertions, 5 deletions
diff --git a/paste/evalexception/middleware.py b/paste/evalexception/middleware.py index f41a4f5..d086344 100644 --- a/paste/evalexception/middleware.py +++ b/paste/evalexception/middleware.py @@ -29,7 +29,6 @@ from __future__ import print_function import sys import os -import html import traceback import six from six.moves import cStringIO as StringIO @@ -45,6 +44,7 @@ from paste import registry from paste import request from paste import response from paste.evalexception import evalcontext +from paste.util import html limit = 200 diff --git a/paste/exceptions/formatter.py b/paste/exceptions/formatter.py index 3be07ef..3ff7e6c 100644 --- a/paste/exceptions/formatter.py +++ b/paste/exceptions/formatter.py @@ -7,9 +7,9 @@ Formatters for the exception data that comes from ExceptionCollector. # @@: TODO: # Use this: http://www.zope.org/Members/tino/VisualTraceback/VisualTracebackNews -import html import six import re +from paste.util import html from paste.util import PySourceColor def html_quote(s): diff --git a/paste/url.py b/paste/url.py index 653c657..b13d575 100644 --- a/paste/url.py +++ b/paste/url.py @@ -5,9 +5,9 @@ This module implements a class for handling URLs. """ from six.moves.urllib.parse import parse_qsl, quote, unquote, urlencode -import html from paste import request import six +from paste.util import html # Imported lazily from FormEncode: variabledecode = None diff --git a/paste/urlmap.py b/paste/urlmap.py index 4ba19c1..3de23db 100644 --- a/paste/urlmap.py +++ b/paste/urlmap.py @@ -6,7 +6,7 @@ Map URL prefixes to WSGI applications. See ``URLMap`` import re import os -import html +from paste.util import html try: # Python 3 from collections import MutableMapping as DictMixin 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("&", "&") # Must be done first! + s = s.replace("<", "<") + s = s.replace(">", ">") + if quote: + s = s.replace('"', """) + s = s.replace('\'', "'") + 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'] |