Remove all usage of six library
Replace six with Python 3 style code. Change-Id: I3d0c35e237484409d8410601ec482fac0dacf30d
This commit is contained in:
parent
266ee36d33
commit
298c86f1e6
@ -38,7 +38,6 @@ requests==2.14.2
|
||||
requests-mock==1.2.0
|
||||
requestsexceptions==1.2.0
|
||||
rfc3986==0.3.1
|
||||
six==1.10.0
|
||||
stestr==2.0.0
|
||||
smmap==0.9.0
|
||||
snowballstemmer==1.2.1
|
||||
|
@ -19,7 +19,6 @@ import abc
|
||||
import ast
|
||||
import inspect
|
||||
|
||||
import six
|
||||
import stevedore
|
||||
|
||||
if hasattr(inspect, 'getfullargspec'):
|
||||
@ -86,8 +85,7 @@ def _check(rule, target, creds, enforcer, current_rule):
|
||||
return rule(*rule_args)
|
||||
|
||||
|
||||
@six.add_metaclass(abc.ABCMeta)
|
||||
class BaseCheck(object):
|
||||
class BaseCheck(metaclass=abc.ABCMeta):
|
||||
"""Abstract base class for Check classes."""
|
||||
|
||||
@abc.abstractmethod
|
||||
@ -316,7 +314,7 @@ class GenericCheck(Check):
|
||||
'''
|
||||
|
||||
if len(path_segments) == 0:
|
||||
return match == six.text_type(test_value)
|
||||
return match == str(test_value)
|
||||
key, path_segments = path_segments[0], path_segments[1:]
|
||||
try:
|
||||
test_value = test_value[key]
|
||||
@ -341,7 +339,7 @@ class GenericCheck(Check):
|
||||
try:
|
||||
# Try to interpret self.kind as a literal
|
||||
test_value = ast.literal_eval(self.kind)
|
||||
return match == six.text_type(test_value)
|
||||
return match == str(test_value)
|
||||
|
||||
except ValueError:
|
||||
pass
|
||||
|
@ -18,8 +18,6 @@
|
||||
import logging
|
||||
import re
|
||||
|
||||
import six
|
||||
|
||||
from oslo_policy import _checks
|
||||
|
||||
|
||||
@ -72,8 +70,7 @@ class ParseStateMeta(type):
|
||||
return super(ParseStateMeta, mcs).__new__(mcs, name, bases, cls_dict)
|
||||
|
||||
|
||||
@six.add_metaclass(ParseStateMeta)
|
||||
class ParseState(object):
|
||||
class ParseState(metaclass=ParseStateMeta):
|
||||
"""Implement the core of parsing the policy language.
|
||||
|
||||
Uses a greedy reduction algorithm to reduce a sequence of tokens into
|
||||
@ -246,7 +243,7 @@ def _parse_list_rule(rule):
|
||||
continue
|
||||
|
||||
# Handle bare strings
|
||||
if isinstance(inner_rule, six.string_types):
|
||||
if isinstance(inner_rule, str):
|
||||
inner_rule = [inner_rule]
|
||||
|
||||
# Parse the inner rules into Check objects
|
||||
@ -350,6 +347,6 @@ def parse_rule(rule):
|
||||
"""Parses a policy rule into a tree of :class:`.Check` objects."""
|
||||
|
||||
# If the rule is a string, it's in the policy language
|
||||
if isinstance(rule, six.string_types):
|
||||
if isinstance(rule, str):
|
||||
return _parse_text_rule(rule)
|
||||
return _parse_list_rule(rule)
|
||||
|
@ -231,7 +231,6 @@ from oslo_config import cfg
|
||||
from oslo_context import context
|
||||
from oslo_serialization import jsonutils
|
||||
from oslo_utils import strutils
|
||||
import six
|
||||
import yaml
|
||||
|
||||
from oslo_policy import _cache_handler
|
||||
@ -387,7 +386,7 @@ def parse_file_contents(data):
|
||||
except yaml.YAMLError as e:
|
||||
# For backwards-compatibility, convert yaml error to ValueError,
|
||||
# which is what JSON loader raised.
|
||||
raise ValueError(six.text_type(e))
|
||||
raise ValueError(str(e))
|
||||
return parsed or {}
|
||||
|
||||
|
||||
@ -456,7 +455,7 @@ class Rules(dict):
|
||||
if self.default_rule not in self:
|
||||
raise KeyError(key)
|
||||
|
||||
elif isinstance(self.default_rule, six.string_types):
|
||||
elif isinstance(self.default_rule, str):
|
||||
return self[self.default_rule]
|
||||
|
||||
def __str__(self):
|
||||
@ -1176,7 +1175,7 @@ class RuleDefault(object):
|
||||
if not isinstance(scope_types, list):
|
||||
raise ValueError(msg)
|
||||
for scope_type in scope_types:
|
||||
if not isinstance(scope_type, six.string_types):
|
||||
if not isinstance(scope_type, str):
|
||||
raise ValueError(msg)
|
||||
if scope_types.count(scope_type) > 1:
|
||||
raise ValueError(
|
||||
|
@ -14,6 +14,7 @@
|
||||
# under the License.
|
||||
|
||||
import codecs
|
||||
import io
|
||||
import os
|
||||
import os.path
|
||||
import sys
|
||||
@ -21,7 +22,6 @@ import sys
|
||||
import fixtures
|
||||
from oslo_config import fixture as config
|
||||
from oslotest import base as test_base
|
||||
from six import moves
|
||||
|
||||
from oslo_policy import _checks
|
||||
from oslo_policy import policy
|
||||
@ -55,7 +55,7 @@ class PolicyBaseTestCase(test_base.BaseTestCase):
|
||||
f.write(contents)
|
||||
|
||||
def _capture_stdout(self):
|
||||
self.useFixture(fixtures.MonkeyPatch('sys.stdout', moves.StringIO()))
|
||||
self.useFixture(fixtures.MonkeyPatch('sys.stdout', io.StringIO()))
|
||||
return sys.stdout
|
||||
|
||||
|
||||
|
@ -18,7 +18,7 @@ from unittest import mock
|
||||
|
||||
from oslo_serialization import jsonutils
|
||||
from requests_mock.contrib import fixture as rm_fixture
|
||||
import six.moves.urllib.parse as urlparse
|
||||
from urllib import parse as urlparse
|
||||
|
||||
from oslo_policy import _external
|
||||
from oslo_policy import opts
|
||||
|
@ -16,7 +16,6 @@
|
||||
from unittest import mock
|
||||
|
||||
from oslotest import base as test_base
|
||||
import six
|
||||
|
||||
from oslo_policy import _checks
|
||||
from oslo_policy import _parser
|
||||
@ -173,8 +172,7 @@ class ParseStateMetaTestCase(test_base.BaseTestCase):
|
||||
self.assertEqual([['d', 'e', 'f'], ['a', 'b', 'c']], spam.reducers)
|
||||
|
||||
def test_parse_state_meta(self):
|
||||
@six.add_metaclass(_parser.ParseStateMeta)
|
||||
class FakeState(object):
|
||||
class FakeState(metaclass=_parser.ParseStateMeta):
|
||||
|
||||
@_parser.reducer('a', 'b', 'c')
|
||||
@_parser.reducer('d', 'e', 'f')
|
||||
|
@ -23,7 +23,6 @@ from oslo_config import cfg
|
||||
from oslo_context import context
|
||||
from oslo_serialization import jsonutils
|
||||
from oslotest import base as test_base
|
||||
import six
|
||||
|
||||
from oslo_policy import _cache_handler
|
||||
from oslo_policy import _checks
|
||||
@ -349,8 +348,7 @@ class EnforcerTest(base.PolicyBaseTestCase):
|
||||
self.enforcer.load_rules(False)
|
||||
self.assertIsNotNone(self.enforcer.rules)
|
||||
|
||||
old = six.next(six.itervalues(
|
||||
self.enforcer._policy_dir_mtimes))
|
||||
old = next(iter(self.enforcer._policy_dir_mtimes))
|
||||
self.assertEqual(1, len(self.enforcer._policy_dir_mtimes))
|
||||
|
||||
# Touch the file
|
||||
@ -361,8 +359,7 @@ class EnforcerTest(base.PolicyBaseTestCase):
|
||||
|
||||
self.enforcer.load_rules(False)
|
||||
self.assertEqual(1, len(self.enforcer._policy_dir_mtimes))
|
||||
self.assertEqual(old, six.next(six.itervalues(
|
||||
self.enforcer._policy_dir_mtimes)))
|
||||
self.assertEqual(old, next(iter(self.enforcer._policy_dir_mtimes)))
|
||||
|
||||
loaded_rules = jsonutils.loads(str(self.enforcer.rules))
|
||||
self.assertEqual('is_admin:True', loaded_rules['admin'])
|
||||
@ -385,14 +382,12 @@ class EnforcerTest(base.PolicyBaseTestCase):
|
||||
self.enforcer.load_rules(False)
|
||||
self.assertIsNotNone(self.enforcer.rules)
|
||||
|
||||
old = six.next(six.itervalues(
|
||||
self.enforcer._policy_dir_mtimes))
|
||||
old = next(iter(self.enforcer._policy_dir_mtimes))
|
||||
self.assertEqual(1, len(self.enforcer._policy_dir_mtimes))
|
||||
|
||||
self.enforcer.load_rules(False)
|
||||
self.assertEqual(1, len(self.enforcer._policy_dir_mtimes))
|
||||
self.assertEqual(old, six.next(six.itervalues(
|
||||
self.enforcer._policy_dir_mtimes)))
|
||||
self.assertEqual(old, next(iter(self.enforcer._policy_dir_mtimes)))
|
||||
|
||||
loaded_rules = jsonutils.loads(str(self.enforcer.rules))
|
||||
self.assertEqual('is_admin:True', loaded_rules['admin'])
|
||||
|
@ -8,6 +8,5 @@ oslo.context>=2.22.0 # Apache-2.0
|
||||
oslo.i18n>=3.15.3 # Apache-2.0
|
||||
oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
|
||||
PyYAML>=5.1 # MIT
|
||||
six>=1.10.0 # MIT
|
||||
stevedore>=1.20.0 # Apache-2.0
|
||||
oslo.utils>=3.40.0 # Apache-2.0
|
||||
|
Loading…
x
Reference in New Issue
Block a user