summarylogtreecommitdiffstats
path: root/0004-collections-abc.patch
diff options
context:
space:
mode:
Diffstat (limited to '0004-collections-abc.patch')
-rw-r--r--0004-collections-abc.patch113
1 files changed, 113 insertions, 0 deletions
diff --git a/0004-collections-abc.patch b/0004-collections-abc.patch
new file mode 100644
index 000000000000..bfecbe345564
--- /dev/null
+++ b/0004-collections-abc.patch
@@ -0,0 +1,113 @@
+diff --git a/lib/third_party/dns/namedict.py b/lib/third_party/dns/namedict.py
+index 37a13104..e2309c1f 100644
+--- a/lib/third_party/dns/namedict.py
++++ b/lib/third_party/dns/namedict.py
+@@ -32,7 +32,14 @@ import dns.name
+ from ._compat import xrange
+
+
+-class NameDict(collections.MutableMapping):
++try:
++ # Python 3.3 and above.
++ collections_abc = collections.abc
++except AttributeError:
++ collections_abc = collections
++
++
++class NameDict(collections_abc.MutableMapping):
+ """A dictionary whose keys are dns.name.Name objects.
+
+ In addition to being like a regular Python dictionary, this
+diff --git a/lib/third_party/functools32/functools32.py b/lib/third_party/functools32/functools32.py
+index c44551fa..291f81d0 100644
+--- a/lib/third_party/functools32/functools32.py
++++ b/lib/third_party/functools32/functools32.py
+@@ -12,7 +12,7 @@ __all__ = ['update_wrapper', 'wraps', 'WRAPPER_ASSIGNMENTS', 'WRAPPER_UPDATES',
+ 'total_ordering', 'cmp_to_key', 'lru_cache', 'reduce', 'partial']
+
+ from _functools import partial, reduce
+-from collections import MutableMapping, namedtuple
++from collections import namedtuple
+ from .reprlib32 import recursive_repr as _recursive_repr
+ from weakref import proxy as _proxy
+ import sys as _sys
+@@ -21,6 +21,11 @@ try:
+ except ImportError:
+ from ._dummy_thread32 import allocate_lock as Lock
+
++try:
++ from collections.abc import MutableMapping
++except ImportError:
++ from collections import MutableMapping
++
+ ################################################################################
+ ### OrderedDict
+ ################################################################################
+diff --git a/lib/third_party/ml_sdk/cloud/ml/prediction/prediction_utils.py b/lib/third_party/ml_sdk/cloud/ml/prediction/prediction_utils.py
+index 0439728d..f4a75eda 100644
+--- a/lib/third_party/ml_sdk/cloud/ml/prediction/prediction_utils.py
++++ b/lib/third_party/ml_sdk/cloud/ml/prediction/prediction_utils.py
+@@ -32,6 +32,13 @@ collections_lib = collections
+ if sys.version_info > (3, 8):
+ collections_lib = collections.abc
+
++try:
++ # Python 3.3 and above.
++ collections_abc = collections.abc
++except AttributeError:
++ collections_abc = collections
++
++
+ # --------------------------
+ # prediction.common
+ # --------------------------
+diff --git a/platform/gsutil/gslib/vendored/boto/boto/dynamodb/types.py b/platform/gsutil/gslib/vendored/boto/boto/dynamodb/types.py
+index d9aaaa4c..1d50fb0c 100644
+--- a/platform/gsutil/gslib/vendored/boto/boto/dynamodb/types.py
++++ b/platform/gsutil/gslib/vendored/boto/boto/dynamodb/types.py
+@@ -27,11 +27,17 @@ Python types and vice-versa.
+ import base64
+ from decimal import (Decimal, DecimalException, Context,
+ Clamped, Overflow, Inexact, Underflow, Rounded)
+-from collections import Mapping
+ from boto.dynamodb.exceptions import DynamoDBNumberError
+ from boto.compat import filter, map, six, long_type
+
+
++
++try:
++ from collections.abc import Mapping
++except ImportError:
++ from collections import Mapping
++
++
+ DYNAMODB_CONTEXT = Context(
+ Emin=-128, Emax=126, rounding=None, prec=38,
+ traps=[Clamped, Overflow, Inexact, Rounded, Underflow])
+diff --git a/platform/gsutil/gslib/vendored/boto/boto/mws/connection.py b/platform/gsutil/gslib/vendored/boto/boto/mws/connection.py
+index 687fae74..ae92d087 100644
+--- a/platform/gsutil/gslib/vendored/boto/boto/mws/connection.py
++++ b/platform/gsutil/gslib/vendored/boto/boto/mws/connection.py
+@@ -29,6 +29,13 @@ import boto.mws.response
+ from boto.handler import XmlHandler
+ from boto.compat import filter, map, six, encodebytes
+
++try:
++ # Python 3.3 and above.
++ collections_abc = collections.abc
++except AttributeError:
++ collections_abc = collections
++
++
+ __all__ = ['MWSConnection']
+
+ api_version_path = {
+@@ -109,7 +116,7 @@ def http_body(field):
+ def destructure_object(value, into, prefix, members=False):
+ if isinstance(value, boto.mws.response.ResponseElement):
+ destructure_object(value.__dict__, into, prefix, members=members)
+- elif isinstance(value, collections.Mapping):
++ elif isinstance(value, collections_abc.Mapping):
+ for name in value:
+ if name.startswith('_'):
+ continue