From 424ff50a4fa7f2134304e282155c1eaafa38e683 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Fri, 29 Jan 2021 18:21:30 +0100 Subject: [PATCH] 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 --- oslo_policy/policy.py | 6 +++--- oslo_policy/shell.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/oslo_policy/policy.py b/oslo_policy/policy.py index f21ebe9f..6ba1bcd0 100644 --- a/oslo_policy/policy.py +++ b/oslo_policy/policy.py @@ -221,7 +221,7 @@ by setting the ``policy_default_rule`` configuration setting to the desired rule name. """ -import collections +import collections.abc import copy import logging import os @@ -953,9 +953,9 @@ class Enforcer(object): # a method on RequestContext objects that converts attributes of the # context object to policy values. However, ``to_policy_values()`` # 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. - elif not isinstance(creds, collections.MutableMapping): + elif not isinstance(creds, collections.abc.MutableMapping): msg = ( 'Expected type oslo_context.context.RequestContext, dict, or ' 'the output of ' diff --git a/oslo_policy/shell.py b/oslo_policy/shell.py index 7ffb5ea4..da1bf1e1 100644 --- a/oslo_policy/shell.py +++ b/oslo_policy/shell.py @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -import collections +import collections.abc import sys from oslo_serialization import jsonutils @@ -59,7 +59,7 @@ def flatten(d, parent_key=''): items = [] for k, v in d.items(): 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()) else: items.append((new_key, v))