diff options
| author | Michael Merickel <michael@merickel.org> | 2018-11-14 18:58:56 -0600 |
|---|---|---|
| committer | Michael Merickel <michael@merickel.org> | 2018-11-14 19:00:57 -0600 |
| commit | 8c0cbe3be52a56ba9dc8ab6ced028dab9b48b333 (patch) | |
| tree | 005ad55806606c0e5c5600fd2d461614d0c4860f | |
| parent | a480acfa4381604320525b5e76e22bfb16d9c964 (diff) | |
| download | pyramid-8c0cbe3be52a56ba9dc8ab6ced028dab9b48b333.tar.gz pyramid-8c0cbe3be52a56ba9dc8ab6ced028dab9b48b333.tar.bz2 pyramid-8c0cbe3be52a56ba9dc8ab6ced028dab9b48b333.zip | |
move is_nonstr_iter to pyramid.util
| -rw-r--r-- | src/pyramid/authorization.py | 4 | ||||
| -rw-r--r-- | src/pyramid/compat.py | 6 | ||||
| -rw-r--r-- | src/pyramid/config/predicates.py | 3 | ||||
| -rw-r--r-- | src/pyramid/config/tweens.py | 8 | ||||
| -rw-r--r-- | src/pyramid/config/views.py | 4 | ||||
| -rw-r--r-- | src/pyramid/encode.py | 2 | ||||
| -rw-r--r-- | src/pyramid/predicates.py | 4 | ||||
| -rw-r--r-- | src/pyramid/traversal.py | 2 | ||||
| -rw-r--r-- | src/pyramid/urldispatch.py | 4 | ||||
| -rw-r--r-- | src/pyramid/util.py | 8 |
10 files changed, 24 insertions, 21 deletions
diff --git a/src/pyramid/authorization.py b/src/pyramid/authorization.py index 974748765..6056a8d25 100644 --- a/src/pyramid/authorization.py +++ b/src/pyramid/authorization.py @@ -4,10 +4,10 @@ from pyramid.interfaces import IAuthorizationPolicy from pyramid.location import lineage -from pyramid.compat import is_nonstr_iter - from pyramid.security import ACLAllowed, ACLDenied, Allow, Deny, Everyone +from pyramid.util import is_nonstr_iter + @implementer(IAuthorizationPolicy) class ACLAuthorizationPolicy(object): diff --git a/src/pyramid/compat.py b/src/pyramid/compat.py index 17527271e..1010e93f1 100644 --- a/src/pyramid/compat.py +++ b/src/pyramid/compat.py @@ -62,12 +62,6 @@ url_unquote_text = url_unquote url_unquote_native = url_unquote -def is_nonstr_iter(v): - if isinstance(v, str): - return False - return hasattr(v, '__iter__') - - # see PEP 3333 for why we encode WSGI PATH_INFO to latin-1 before # decoding it to utf-8 def decode_path_info(path): diff --git a/src/pyramid/config/predicates.py b/src/pyramid/config/predicates.py index 31e770562..789bcd6ae 100644 --- a/src/pyramid/config/predicates.py +++ b/src/pyramid/config/predicates.py @@ -1,12 +1,13 @@ from hashlib import md5 from webob.acceptparse import Accept -from pyramid.compat import bytes_, is_nonstr_iter +from pyramid.compat import bytes_ from pyramid.exceptions import ConfigurationError from pyramid.interfaces import IPredicateList, PHASE1_CONFIG from pyramid.predicates import Notted from pyramid.registry import predvalseq from pyramid.util import TopologicalSorter +from pyramid.util import is_nonstr_iter MAX_ORDER = 1 << 30 diff --git a/src/pyramid/config/tweens.py b/src/pyramid/config/tweens.py index 7f00c5f4f..c85639d14 100644 --- a/src/pyramid/config/tweens.py +++ b/src/pyramid/config/tweens.py @@ -2,13 +2,15 @@ from zope.interface import implementer from pyramid.interfaces import ITweens -from pyramid.compat import is_nonstr_iter - from pyramid.exceptions import ConfigurationError from pyramid.tweens import MAIN, INGRESS, EXCVIEW -from pyramid.util import is_string_or_iterable, TopologicalSorter +from pyramid.util import ( + is_nonstr_iter, + is_string_or_iterable, + TopologicalSorter, +) from pyramid.config.actions import action_method diff --git a/src/pyramid/config/views.py b/src/pyramid/config/views.py index 718ea8bf3..0039cd8fe 100644 --- a/src/pyramid/config/views.py +++ b/src/pyramid/config/views.py @@ -32,7 +32,7 @@ from pyramid.interfaces import ( from pyramid import renderers from pyramid.asset import resolve_asset_spec -from pyramid.compat import urlparse, url_quote, WIN, is_nonstr_iter +from pyramid.compat import urlparse, url_quote, WIN from pyramid.decorator import reify @@ -53,7 +53,7 @@ from pyramid.url import parse_url_overrides from pyramid.view import AppendSlashNotFoundViewFactory -from pyramid.util import as_sorted_tuple, TopologicalSorter +from pyramid.util import as_sorted_tuple, is_nonstr_iter, TopologicalSorter import pyramid.predicates import pyramid.viewderivers diff --git a/src/pyramid/encode.py b/src/pyramid/encode.py index 428bd0c08..1ed2c5a55 100644 --- a/src/pyramid/encode.py +++ b/src/pyramid/encode.py @@ -1,8 +1,8 @@ from pyramid.compat import ( - is_nonstr_iter, url_quote as _url_quote, url_quote_plus as _quote_plus, ) +from pyramid.util import is_nonstr_iter def url_quote(val, safe=''): # bw compat api diff --git a/src/pyramid/predicates.py b/src/pyramid/predicates.py index 280f6c03c..5a1127fb3 100644 --- a/src/pyramid/predicates.py +++ b/src/pyramid/predicates.py @@ -2,8 +2,6 @@ import re from pyramid.exceptions import ConfigurationError -from pyramid.compat import is_nonstr_iter - from pyramid.csrf import check_csrf_token from pyramid.traversal import ( find_interface, @@ -12,7 +10,7 @@ from pyramid.traversal import ( ) from pyramid.urldispatch import _compile_route -from pyramid.util import as_sorted_tuple, object_description +from pyramid.util import as_sorted_tuple, is_nonstr_iter, object_description _marker = object() diff --git a/src/pyramid/traversal.py b/src/pyramid/traversal.py index 5adf728b6..429b12e23 100644 --- a/src/pyramid/traversal.py +++ b/src/pyramid/traversal.py @@ -12,7 +12,6 @@ from pyramid.interfaces import ( from pyramid.compat import ( native_, ascii_native_, - is_nonstr_iter, decode_path_info, unquote_bytes_to_wsgi, ) @@ -21,6 +20,7 @@ from pyramid.encode import url_quote from pyramid.exceptions import URLDecodeError from pyramid.location import lineage from pyramid.threadlocal import get_current_registry +from pyramid.util import is_nonstr_iter PATH_SEGMENT_SAFE = "~!$&'()*+,;=:@" # from webob PATH_SAFE = PATH_SEGMENT_SAFE + "/" diff --git a/src/pyramid/urldispatch.py b/src/pyramid/urldispatch.py index c1db3c969..6d25b2dd5 100644 --- a/src/pyramid/urldispatch.py +++ b/src/pyramid/urldispatch.py @@ -3,12 +3,14 @@ from zope.interface import implementer from pyramid.interfaces import IRoutesMapper, IRoute -from pyramid.compat import native_, text_, is_nonstr_iter, decode_path_info +from pyramid.compat import native_, text_, decode_path_info from pyramid.exceptions import URLDecodeError from pyramid.traversal import quote_path_segment, split_path_info, PATH_SAFE +from pyramid.util import is_nonstr_iter + _marker = object() diff --git a/src/pyramid/util.py b/src/pyramid/util.py index 544fdc6de..6cd8225aa 100644 --- a/src/pyramid/util.py +++ b/src/pyramid/util.py @@ -6,7 +6,7 @@ import weakref from pyramid.exceptions import ConfigurationError, CyclicDependencyError -from pyramid.compat import is_nonstr_iter, bytes_, text_, native_ +from pyramid.compat import bytes_, text_, native_ from pyramid.path import DottedNameResolver as _DottedNameResolver @@ -20,6 +20,12 @@ class DottedNameResolver(_DottedNameResolver): _DottedNameResolver.__init__(self, package) +def is_nonstr_iter(v): + if isinstance(v, str): + return False + return hasattr(v, '__iter__') + + def is_string_or_iterable(v): if isinstance(v, str): return True |
