mirror of
https://github.com/sqlalchemy/sqlalchemy.git
synced 2026-05-27 02:52:53 -04:00
Merge "Import from collections.abc" into rel_1_2
This commit is contained in:
+8
@@ -0,0 +1,8 @@
|
||||
.. change::
|
||||
:tags: bug, misc, py3k
|
||||
:tickets: 4339
|
||||
|
||||
Fixed additional warnings generated by Python 3.7 due to changes in the
|
||||
organization of the Python ``collections`` and ``collections.abc`` packages.
|
||||
Previous ``collections`` warnings were fixed in version 1.2.11. Pull request
|
||||
courtesy xtreak.
|
||||
@@ -7,7 +7,6 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
import json
|
||||
import collections
|
||||
|
||||
from .base import ischema_names, colspecs
|
||||
from ... import types as sqltypes
|
||||
@@ -61,7 +60,7 @@ class JSONPathType(sqltypes.JSON.JSONPathType):
|
||||
super_proc = self.string_bind_processor(dialect)
|
||||
|
||||
def process(value):
|
||||
assert isinstance(value, collections.Sequence)
|
||||
assert isinstance(value, util.collections_abc.Sequence)
|
||||
tokens = [util.text_type(elem)for elem in value]
|
||||
value = "{%s}" % (", ".join(tokens))
|
||||
if super_proc:
|
||||
@@ -74,7 +73,7 @@ class JSONPathType(sqltypes.JSON.JSONPathType):
|
||||
super_proc = self.string_literal_processor(dialect)
|
||||
|
||||
def process(value):
|
||||
assert isinstance(value, collections.Sequence)
|
||||
assert isinstance(value, util.collections_abc.Sequence)
|
||||
tokens = [util.text_type(elem)for elem in value]
|
||||
value = "{%s}" % (", ".join(tokens))
|
||||
if super_proc:
|
||||
|
||||
@@ -179,8 +179,7 @@ class RowProxy(BaseRowProxy):
|
||||
try:
|
||||
# Register RowProxy with Sequence,
|
||||
# so sequence protocol is implemented
|
||||
from collections import Sequence
|
||||
Sequence.register(RowProxy)
|
||||
util.collections_abc.Sequence.register(RowProxy)
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@ from .. import util, exc
|
||||
import itertools
|
||||
from .visitors import ClauseVisitor
|
||||
import re
|
||||
import collections
|
||||
|
||||
PARSE_AUTOCOMMIT = util.symbol('PARSE_AUTOCOMMIT')
|
||||
NO_ARG = util.symbol('NO_ARG')
|
||||
@@ -46,7 +45,7 @@ def _generative(fn, *args, **kw):
|
||||
return self
|
||||
|
||||
|
||||
class _DialectArgView(collections.MutableMapping):
|
||||
class _DialectArgView(util.collections_abc.MutableMapping):
|
||||
"""A dictionary view of dialect-level arguments in the form
|
||||
<dialectname>_<argument_name>.
|
||||
|
||||
@@ -99,7 +98,7 @@ class _DialectArgView(collections.MutableMapping):
|
||||
)
|
||||
|
||||
|
||||
class _DialectArgDict(collections.MutableMapping):
|
||||
class _DialectArgDict(util.collections_abc.MutableMapping):
|
||||
"""A dictionary view of dialect-level arguments for a specific
|
||||
dialect.
|
||||
|
||||
|
||||
@@ -2094,7 +2094,7 @@ class JSON(Indexable, TypeEngine):
|
||||
@util.dependencies('sqlalchemy.sql.default_comparator')
|
||||
def _setup_getitem(self, default_comparator, index):
|
||||
if not isinstance(index, util.string_types) and \
|
||||
isinstance(index, collections.Sequence):
|
||||
isinstance(index, compat.collections_abc.Sequence):
|
||||
index = default_comparator._check_literal(
|
||||
self.expr, operators.json_path_getitem_op,
|
||||
index, bindparam_type=JSON.JSONPathType
|
||||
|
||||
@@ -1062,13 +1062,13 @@ class ResultProxyTest(fixtures.TablesTest):
|
||||
eq_(len(mock_rowcount.__get__.mock_calls), 2)
|
||||
|
||||
def test_rowproxy_is_sequence(self):
|
||||
import collections
|
||||
from sqlalchemy.util import collections_abc
|
||||
from sqlalchemy.engine import RowProxy
|
||||
|
||||
row = RowProxy(
|
||||
object(), ['value'], [None],
|
||||
{'key': (None, None, 0), 0: (None, None, 0)})
|
||||
assert isinstance(row, collections.Sequence)
|
||||
assert isinstance(row, collections_abc.Sequence)
|
||||
|
||||
@testing.provide_metadata
|
||||
def test_rowproxy_getitem_indexes_compiled(self):
|
||||
|
||||
Reference in New Issue
Block a user