Switch to collections.abc.MutableMapping

collections.MutableMapping has been deprecated since Python 3.3 and
is removed in Python 3.10. The functionality should be identical.

Change-Id: Ic96309fef409ba01dd24a3a70ff132a9f5352f9c
This commit is contained in:
Cyril Roelandt 2021-01-29 18:21:30 +01:00
parent e103baa002
commit 424ff50a4f
2 changed files with 5 additions and 5 deletions

View File

@ -221,7 +221,7 @@ by setting the ``policy_default_rule`` configuration setting to the
desired rule name. desired rule name.
""" """
import collections import collections.abc
import copy import copy
import logging import logging
import os import os
@ -953,9 +953,9 @@ class Enforcer(object):
# a method on RequestContext objects that converts attributes of the # a method on RequestContext objects that converts attributes of the
# context object to policy values. However, ``to_policy_values()`` # context object to policy values. However, ``to_policy_values()``
# doesn't actually return a dictionary, it's a subclass of # doesn't actually return a dictionary, it's a subclass of
# collections.MutableMapping, which behaves like a dictionary but # collections.abc.MutableMapping, which behaves like a dictionary but
# doesn't pass the type check. # doesn't pass the type check.
elif not isinstance(creds, collections.MutableMapping): elif not isinstance(creds, collections.abc.MutableMapping):
msg = ( msg = (
'Expected type oslo_context.context.RequestContext, dict, or ' 'Expected type oslo_context.context.RequestContext, dict, or '
'the output of ' 'the output of '

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
import collections import collections.abc
import sys import sys
from oslo_serialization import jsonutils from oslo_serialization import jsonutils
@ -59,7 +59,7 @@ def flatten(d, parent_key=''):
items = [] items = []
for k, v in d.items(): for k, v in d.items():
new_key = parent_key + '.' + k if parent_key else k new_key = parent_key + '.' + k if parent_key else k
if isinstance(v, collections.MutableMapping): if isinstance(v, collections.abc.MutableMapping):
items.extend(flatten(v, new_key).items()) items.extend(flatten(v, new_key).items())
else: else:
items.append((new_key, v)) items.append((new_key, v))