diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2018-08-01 17:39:58 -0400 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@ci.zzzcomputing.com> | 2018-08-01 17:39:58 -0400 |
| commit | 0fc34a113989cfd284837363a7a55dc2c8aadeab (patch) | |
| tree | 164d3412350d460d956528efb1fdf1b14497cfe8 /lib/sqlalchemy/util | |
| parent | 85dd7668530612e2cf7de7f575d68fc7c683a988 (diff) | |
| parent | a51b0528d3dca59e655e4d19b50bb271015f8196 (diff) | |
| download | sqlalchemy-0fc34a113989cfd284837363a7a55dc2c8aadeab.tar.gz | |
Merge "Fix collections ABC access before Python 3.8"
Diffstat (limited to 'lib/sqlalchemy/util')
| -rw-r--r-- | lib/sqlalchemy/util/__init__.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/util/_collections.py | 6 | ||||
| -rw-r--r-- | lib/sqlalchemy/util/compat.py | 9 |
3 files changed, 13 insertions, 4 deletions
diff --git a/lib/sqlalchemy/util/__init__.py b/lib/sqlalchemy/util/__init__.py index 2a2d5cfc6..031376d78 100644 --- a/lib/sqlalchemy/util/__init__.py +++ b/lib/sqlalchemy/util/__init__.py @@ -21,7 +21,7 @@ from ._collections import KeyedTuple, ImmutableContainer, immutabledict, \ UniqueAppender, PopulateDict, EMPTY_SET, to_list, to_set, \ to_column_set, update_copy, flatten_iterator, has_intersection, \ LRUCache, ScopedRegistry, ThreadLocalRegistry, WeakSequence, \ - coerce_generator_arg, lightweight_named_tuple + coerce_generator_arg, lightweight_named_tuple, collections_abc from .langhelpers import iterate_attributes, class_hierarchy, \ portable_instancemethod, unbound_method_to_callable, \ diff --git a/lib/sqlalchemy/util/_collections.py b/lib/sqlalchemy/util/_collections.py index 1d9383bc6..3152458bf 100644 --- a/lib/sqlalchemy/util/_collections.py +++ b/lib/sqlalchemy/util/_collections.py @@ -11,10 +11,10 @@ from __future__ import absolute_import import weakref import operator from .compat import threading, itertools_filterfalse, string_types, \ - binary_types + binary_types, collections_abc from . import py2k import types -import collections + EMPTY_SET = frozenset() @@ -798,7 +798,7 @@ def coerce_generator_arg(arg): def to_list(x, default=None): if x is None: return default - if not isinstance(x, collections.Iterable) or \ + if not isinstance(x, collections_abc.Iterable) or \ isinstance(x, string_types + binary_types): return [x] elif isinstance(x, list): diff --git a/lib/sqlalchemy/util/compat.py b/lib/sqlalchemy/util/compat.py index bc0c3e6e0..02be2b3b9 100644 --- a/lib/sqlalchemy/util/compat.py +++ b/lib/sqlalchemy/util/compat.py @@ -327,3 +327,12 @@ def nested(*managers): exc = sys.exc_info() if exc != (None, None, None): reraise(exc[0], exc[1], exc[2]) + + +# Fix deprecation of accessing ABCs straight from collections module +# (which will stop working in 3.8). +if py33: + import collections.abc as collections_abc +else: + import collections as collections_abc + |
