summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiccardo Pittau <elfosardo@gmail.com>2020-07-01 15:22:44 +0200
committerRiccardo Pittau <elfosardo@gmail.com>2020-07-01 15:56:53 +0200
commit5ac72fcb3d2071d8fd4c382a48efe5b9dbd4dec9 (patch)
treec6d98c2074a60acdb913e55255431b7bc91fc1d6
parent80f379bfa2af9c9a80ce369beb275361ed78963c (diff)
downloadtooz-5ac72fcb3d2071d8fd4c382a48efe5b9dbd4dec9.tar.gz
Remove six library
The tooz project doesn't support Python 2 anymore, using the six library should not be necessary. Change-Id: I9886cabcd13cbc615065ceb372efbf037dff1aeb
-rw-r--r--examples/group_membership.py4
-rw-r--r--examples/group_membership_watch.py4
-rw-r--r--examples/leader_election.py4
-rw-r--r--requirements.txt1
-rwxr-xr-xtooz/coordination.py11
-rw-r--r--tooz/drivers/etcd.py4
-rw-r--r--tooz/drivers/etcd3.py3
-rw-r--r--tooz/drivers/etcd3gw.py5
-rw-r--r--tooz/drivers/file.py11
-rw-r--r--tooz/drivers/ipc.py5
-rw-r--r--tooz/drivers/memcached.py9
-rw-r--r--tooz/drivers/pgsql.py6
-rw-r--r--tooz/drivers/redis.py23
-rw-r--r--tooz/drivers/zookeeper.py8
-rw-r--r--tooz/hashring.py6
-rw-r--r--tooz/locking.py5
-rw-r--r--tooz/partitioner.py4
-rw-r--r--tooz/tests/__init__.py4
-rw-r--r--tooz/tests/test_coordination.py4
-rw-r--r--tooz/tests/test_partitioner.py7
-rw-r--r--tooz/tests/test_utils.py3
-rw-r--r--tooz/utils.py9
22 files changed, 54 insertions, 86 deletions
diff --git a/examples/group_membership.py b/examples/group_membership.py
index 7b85e6c..9f4bb97 100644
--- a/examples/group_membership.py
+++ b/examples/group_membership.py
@@ -1,14 +1,12 @@
import uuid
-import six
-
from tooz import coordination
coordinator = coordination.get_coordinator('zake://', b'host-1')
coordinator.start()
# Create a group
-group = six.binary_type(six.text_type(uuid.uuid4()).encode('ascii'))
+group = bytes(str(uuid.uuid4()).encode('ascii'))
request = coordinator.create_group(group)
request.get()
diff --git a/examples/group_membership_watch.py b/examples/group_membership_watch.py
index 51836c2..b1118a6 100644
--- a/examples/group_membership_watch.py
+++ b/examples/group_membership_watch.py
@@ -1,14 +1,12 @@
import uuid
-import six
-
from tooz import coordination
coordinator = coordination.get_coordinator('zake://', b'host-1')
coordinator.start()
# Create a group
-group = six.binary_type(six.text_type(uuid.uuid4()).encode('ascii'))
+group = bytes(str(uuid.uuid4()).encode('ascii'))
request = coordinator.create_group(group)
request.get()
diff --git a/examples/leader_election.py b/examples/leader_election.py
index 661c314..364e9bc 100644
--- a/examples/leader_election.py
+++ b/examples/leader_election.py
@@ -1,8 +1,6 @@
import time
import uuid
-import six
-
from tooz import coordination
ALIVE_TIME = 1
@@ -10,7 +8,7 @@ coordinator = coordination.get_coordinator('zake://', b'host-1')
coordinator.start()
# Create a group
-group = six.binary_type(six.text_type(uuid.uuid4()).encode('ascii'))
+group = bytes(str(uuid.uuid4()).encode('ascii'))
request = coordinator.create_group(group)
request.get()
diff --git a/requirements.txt b/requirements.txt
index c1f072c..a448b67 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,7 +3,6 @@
# process, which may cause wedges in the gate later.
pbr>=1.6 # Apache-2.0
stevedore>=1.16.0 # Apache-2.0
-six>=1.9.0 # MIT
voluptuous>=0.8.9 # BSD License
msgpack>=0.4.0 # Apache-2.0
fasteners>=0.7 # Apache-2.0
diff --git a/tooz/coordination.py b/tooz/coordination.py
index 99cdff0..d5ac941 100755
--- a/tooz/coordination.py
+++ b/tooz/coordination.py
@@ -21,11 +21,11 @@ from concurrent import futures
import enum
import logging
import threading
+import urllib
from oslo_utils import encodeutils
from oslo_utils import netutils
from oslo_utils import timeutils
-import six
from stevedore import driver
import tenacity
@@ -629,8 +629,7 @@ class CoordinationDriver(object):
pass
-@six.add_metaclass(abc.ABCMeta)
-class CoordAsyncResult(object):
+class CoordAsyncResult(object, metaclass=abc.ABCMeta):
"""Representation of an asynchronous task.
Every call API returns an CoordAsyncResult object on which the result or
@@ -786,12 +785,12 @@ def get_coordinator(backend_url, member_id,
arguments query string)
"""
parsed_url = netutils.urlsplit(backend_url)
- parsed_qs = six.moves.urllib.parse.parse_qs(parsed_url.query)
+ parsed_qs = urllib.parse.parse_qs(parsed_url.query)
if kwargs:
options = {}
- for (k, v) in six.iteritems(kwargs):
+ for (k, v) in kwargs.items():
options[k] = [v]
- for (k, v) in six.iteritems(parsed_qs):
+ for (k, v) in parsed_qs.items():
if k not in options:
options[k] = v
else:
diff --git a/tooz/drivers/etcd.py b/tooz/drivers/etcd.py
index 45bacca..5d9a186 100644
--- a/tooz/drivers/etcd.py
+++ b/tooz/drivers/etcd.py
@@ -12,6 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
+import functools
import logging
import threading
@@ -19,7 +20,6 @@ import fasteners
from oslo_utils import encodeutils
from oslo_utils import timeutils
import requests
-import six
import tooz
from tooz import coordination
@@ -33,7 +33,7 @@ LOG = logging.getLogger(__name__)
def _translate_failures(func):
"""Translates common requests exceptions into tooz exceptions."""
- @six.wraps(func)
+ @functools.wraps(func)
def wrapper(*args, **kwargs):
try:
return func(*args, **kwargs)
diff --git a/tooz/drivers/etcd3.py b/tooz/drivers/etcd3.py
index 8dcdaa7..1b708ee 100644
--- a/tooz/drivers/etcd3.py
+++ b/tooz/drivers/etcd3.py
@@ -18,7 +18,6 @@ import threading
import etcd3
from etcd3 import exceptions as etcd3_exc
from oslo_utils import encodeutils
-import six
import tooz
from tooz import _retry
@@ -48,7 +47,7 @@ def _failure_translator():
def _translate_failures(func):
- @six.wraps(func)
+ @functools.wraps(func)
def wrapper(*args, **kwargs):
with _failure_translator():
return func(*args, **kwargs)
diff --git a/tooz/drivers/etcd3gw.py b/tooz/drivers/etcd3gw.py
index 4b9cada..232b3ae 100644
--- a/tooz/drivers/etcd3gw.py
+++ b/tooz/drivers/etcd3gw.py
@@ -11,14 +11,15 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
+
import base64
+import functools
import threading
import uuid
import etcd3gw
from etcd3gw import exceptions as etcd3_exc
from oslo_utils import encodeutils
-import six
import tooz
from tooz import _retry
@@ -35,7 +36,7 @@ def _encode(data):
def _translate_failures(func):
"""Translates common requests exceptions into tooz exceptions."""
- @six.wraps(func)
+ @functools.wraps(func)
def wrapper(*args, **kwargs):
try:
return func(*args, **kwargs)
diff --git a/tooz/drivers/file.py b/tooz/drivers/file.py
index 2ffa0a3..eb26eb0 100644
--- a/tooz/drivers/file.py
+++ b/tooz/drivers/file.py
@@ -32,7 +32,6 @@ import fasteners
from oslo_utils import encodeutils
from oslo_utils import fileutils
from oslo_utils import timeutils
-import six
import voluptuous
import tooz
@@ -74,7 +73,7 @@ def _convert_from_old_format(data):
# example of potential old python3 payload:
# {u"member_id": b"member"}
# {u"member_id": u"member"}
- if six.PY3 and b"member_id" in data or b"group_id" in data:
+ if b"member_id" in data or b"group_id" in data:
data = dict((k.decode("utf8"), v) for k, v in data.items())
# About member_id and group_id valuse if the file have been written
# with python2 and in the old format, we can't known with python3
@@ -91,7 +90,7 @@ def _lock_me(lock):
def wrapper(func):
- @six.wraps(func)
+ @functools.wraps(func)
def decorator(*args, **kwargs):
with lock:
return func(*args, **kwargs)
@@ -361,14 +360,12 @@ class FileDriver(coordination.CoordinationDriverCachedRunWatchers,
_SCHEMAS = {
'group': voluptuous.Schema({
- voluptuous.Required('group_id'): voluptuous.Any(six.text_type,
- six.binary_type),
+ voluptuous.Required('group_id'): voluptuous.Any(str, bytes),
# NOTE(sileht): tooz <1.36 was creating file without this
voluptuous.Optional('encoded'): bool,
}),
'member': voluptuous.Schema({
- voluptuous.Required('member_id'): voluptuous.Any(six.text_type,
- six.binary_type),
+ voluptuous.Required('member_id'): voluptuous.Any(str, bytes),
voluptuous.Required('joined_on'): datetime.datetime,
# NOTE(sileht): tooz <1.36 was creating file without this
voluptuous.Optional('encoded'): bool,
diff --git a/tooz/drivers/ipc.py b/tooz/drivers/ipc.py
index 50885dc..bcb7a00 100644
--- a/tooz/drivers/ipc.py
+++ b/tooz/drivers/ipc.py
@@ -19,7 +19,6 @@ import struct
import time
import msgpack
-import six
import sysv_ipc
import tooz
@@ -37,10 +36,10 @@ def ftok(name, project):
# Similar to ftok & http://semanchuk.com/philip/sysv_ipc/#ftok_weakness
# but hopefully without as many weaknesses...
h = hashlib.md5()
- if not isinstance(project, six.binary_type):
+ if not isinstance(project, bytes):
project = project.encode('ascii')
h.update(project)
- if not isinstance(name, six.binary_type):
+ if not isinstance(name, bytes):
name = name.encode('ascii')
h.update(name)
return (int(h.hexdigest(), 16) % _KEY_RANGE) + sysv_ipc.KEY_MIN
diff --git a/tooz/drivers/memcached.py b/tooz/drivers/memcached.py
index ad409d1..1cefd95 100644
--- a/tooz/drivers/memcached.py
+++ b/tooz/drivers/memcached.py
@@ -22,7 +22,6 @@ import socket
from oslo_utils import encodeutils
from pymemcache import client as pymemcache_client
-import six
import tooz
from tooz import _retry
@@ -65,7 +64,7 @@ def _failure_translator():
def _translate_failures(func):
- @six.wraps(func)
+ @functools.wraps(func)
def wrapper(*args, **kwargs):
with _failure_translator():
return func(*args, **kwargs)
@@ -266,7 +265,7 @@ class MemcachedDriver(coordination.CoordinationDriverCachedRunWatchers,
@staticmethod
def _msgpack_serializer(key, value):
- if isinstance(value, six.binary_type):
+ if isinstance(value, bytes):
return value, 1
return utils.dumps(value), 2
@@ -435,7 +434,7 @@ class MemcachedDriver(coordination.CoordinationDriverCachedRunWatchers,
if group_members is None:
raise coordination.GroupNotCreated(group_id)
actual_group_members = {}
- for m, v in six.iteritems(group_members):
+ for m, v in group_members.items():
# Never kick self from the group, we know we're alive
if (m == self._member_id or
self.client.get(self._encode_member_id(m))):
@@ -512,7 +511,7 @@ class MemcachedDriver(coordination.CoordinationDriverCachedRunWatchers,
@_translate_failures
def run_elect_coordinator(self):
- for group_id, hooks in six.iteritems(self._hooks_elected_leader):
+ for group_id, hooks in self._hooks_elected_leader.items():
# Try to grab the lock, if that fails, that means someone has it
# already.
leader_lock = self._get_leader_lock(group_id)
diff --git a/tooz/drivers/pgsql.py b/tooz/drivers/pgsql.py
index 6c60a20..71b7ae3 100644
--- a/tooz/drivers/pgsql.py
+++ b/tooz/drivers/pgsql.py
@@ -20,7 +20,6 @@ import logging
from oslo_utils import encodeutils
import psycopg2
-import six
import tooz
from tooz import _retry
@@ -101,10 +100,7 @@ class PostgresLock(locking.Lock):
self._options = options
h = hashlib.md5()
h.update(name)
- if six.PY2:
- self.key = list(map(ord, h.digest()[0:2]))
- else:
- self.key = h.digest()[0:2]
+ self.key = h.digest()[0:2]
def acquire(self, blocking=True, shared=False):
diff --git a/tooz/drivers/redis.py b/tooz/drivers/redis.py
index f388f4d..0c01a1b 100644
--- a/tooz/drivers/redis.py
+++ b/tooz/drivers/redis.py
@@ -26,9 +26,6 @@ from oslo_utils import strutils
import redis
from redis import exceptions
from redis import sentinel
-import six
-from six.moves import map as compat_map
-from six.moves import zip as compat_zip
import tooz
from tooz import coordination
@@ -55,7 +52,7 @@ def _translate_failures():
class RedisLock(locking.Lock):
def __init__(self, coord, client, name, timeout):
- name = "%s_%s_lock" % (coord.namespace, six.text_type(name))
+ name = "%s_%s_lock" % (coord.namespace, str(name))
super(RedisLock, self).__init__(name)
# NOTE(jd) Make sure we don't release and heartbeat at the same time by
# using a exclusive access lock (LP#1557593)
@@ -356,7 +353,7 @@ return 1
self._scripts = {}
def _check_fetch_redis_version(self, geq_version, not_existent=True):
- if isinstance(geq_version, six.string_types):
+ if isinstance(geq_version, str):
desired_version = version.LooseVersion(geq_version)
elif isinstance(geq_version, version.LooseVersion):
desired_version = geq_version
@@ -470,12 +467,12 @@ return 1
# For py3.x ensure these are unicode since the string template
# replacement will expect unicode (and we don't want b'' as a
# prefix which will happen in py3.x if this is not done).
- for (k, v) in six.iteritems(tpl_params.copy()):
- if isinstance(v, six.binary_type):
+ for (k, v) in tpl_params.copy().items():
+ if isinstance(v, bytes):
v = v.decode('ascii')
tpl_params[k] = v
prepared_scripts = {}
- for name, raw_script_tpl in six.iteritems(self.SCRIPTS):
+ for name, raw_script_tpl in self.SCRIPTS.items():
script_tpl = string.Template(raw_script_tpl)
script = script_tpl.substitute(**tpl_params)
prepared_scripts[name] = self._client.register_script(script)
@@ -630,10 +627,10 @@ return 1
return set()
# Ok now we need to see which members have passed away...
gone_members = set()
- member_values = p.mget(compat_map(self._encode_beat_id,
- potential_members))
- for (potential_member, value) in compat_zip(potential_members,
- member_values):
+ member_values = p.mget(map(self._encode_beat_id,
+ potential_members))
+ for (potential_member, value) in zip(potential_members,
+ member_values):
# Always preserve self (just incase we haven't heartbeated
# while this call/s was being made...), this does *not* prevent
# another client from removing this though...
@@ -742,7 +739,7 @@ return 1
return self.get_lock(name)
def run_elect_coordinator(self):
- for group_id, hooks in six.iteritems(self._hooks_elected_leader):
+ for group_id, hooks in self._hooks_elected_leader.items():
leader_lock = self._get_leader_lock(group_id)
if leader_lock.acquire(blocking=False):
# We got the lock
diff --git a/tooz/drivers/zookeeper.py b/tooz/drivers/zookeeper.py
index db57f19..e08708b 100644
--- a/tooz/drivers/zookeeper.py
+++ b/tooz/drivers/zookeeper.py
@@ -25,8 +25,6 @@ from kazoo.handlers import threading as threading_handler
from kazoo.protocol import paths
from oslo_utils import encodeutils
from oslo_utils import strutils
-import six
-from six.moves import filter as compat_filter
import tooz
from tooz import coordination
@@ -444,7 +442,7 @@ class KazooDriver(coordination.CoordinationDriverCachedRunWatchers):
args.extend(more_args)
cleaned_args = []
for arg in args:
- if isinstance(arg, six.binary_type):
+ if isinstance(arg, bytes):
cleaned_args.append(arg.decode('ascii'))
else:
cleaned_args.append(arg)
@@ -467,7 +465,7 @@ class KazooDriver(coordination.CoordinationDriverCachedRunWatchers):
auth_data = None
maybe_hosts = [parsed_url.netloc] + list(options.get('hosts', []))
- hosts = list(compat_filter(None, maybe_hosts))
+ hosts = list(filter(None, maybe_hosts))
if not hosts:
hosts = ['localhost:2181']
randomize_hosts = options.get('randomize_hosts', True)
@@ -520,7 +518,7 @@ class KazooDriver(coordination.CoordinationDriverCachedRunWatchers):
return ZooKeeperLock(name, z_lock)
def run_elect_coordinator(self):
- for group_id in six.iterkeys(self._hooks_elected_leader):
+ for group_id in self._hooks_elected_leader.keys():
leader_lock = self._get_group_leader_lock(group_id)
if leader_lock.is_acquired:
# Previously acquired/still leader, leave it be...
diff --git a/tooz/hashring.py b/tooz/hashring.py
index bfe8638..51016f2 100644
--- a/tooz/hashring.py
+++ b/tooz/hashring.py
@@ -16,8 +16,6 @@
import bisect
import hashlib
-import six
-
import tooz
from tooz import utils
@@ -71,7 +69,7 @@ class HashRing(object):
for node in nodes:
key = utils.to_binary(node, 'utf-8')
key_hash = hashlib.md5(key)
- for r in six.moves.range(self._partition_number * weight):
+ for r in range(self._partition_number * weight):
key_hash.update(key)
self._ring[self._hash2int(key_hash)] = node
@@ -93,7 +91,7 @@ class HashRing(object):
key = utils.to_binary(node, 'utf-8')
key_hash = hashlib.md5(key)
- for r in six.moves.range(self._partition_number * weight):
+ for r in range(self._partition_number * weight):
key_hash.update(key)
del self._ring[self._hash2int(key_hash)]
diff --git a/tooz/locking.py b/tooz/locking.py
index f4ae0f0..20890f6 100644
--- a/tooz/locking.py
+++ b/tooz/locking.py
@@ -15,8 +15,6 @@
# under the License.
import abc
-import six
-
import tooz
from tooz import coordination
@@ -34,8 +32,7 @@ class _LockProxy(object):
self.lock.__exit__(exc_type, exc_val, exc_tb)
-@six.add_metaclass(abc.ABCMeta)
-class Lock(object):
+class Lock(object, metaclass=abc.ABCMeta):
def __init__(self, name):
if not name:
raise ValueError("Locks must be provided a name")
diff --git a/tooz/partitioner.py b/tooz/partitioner.py
index 63eaba0..3a23f9e 100644
--- a/tooz/partitioner.py
+++ b/tooz/partitioner.py
@@ -13,7 +13,7 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
-import six
+
from tooz import hashring
@@ -54,7 +54,7 @@ class Partitioner(object):
def _hash_object(obj):
if hasattr(obj, "__tooz_hash__"):
return obj.__tooz_hash__()
- return six.text_type(obj).encode('utf8')
+ return str(obj).encode('utf8')
def members_for_object(self, obj, ignore_members=None, replicas=1):
"""Return the members responsible for an object.
diff --git a/tooz/tests/__init__.py b/tooz/tests/__init__.py
index 505ef5f..b7acfa1 100644
--- a/tooz/tests/__init__.py
+++ b/tooz/tests/__init__.py
@@ -19,7 +19,6 @@ import os
import fixtures
from oslo_utils import uuidutils
-import six
from testtools import testcase
import tooz
@@ -49,8 +48,7 @@ class SkipNotImplementedMeta(type):
return type.__new__(cls, name, bases, local)
-@six.add_metaclass(SkipNotImplementedMeta)
-class TestWithCoordinator(testcase.TestCase):
+class TestWithCoordinator(testcase.TestCase, metaclass=SkipNotImplementedMeta):
url = os.getenv("TOOZ_TEST_URL")
def setUp(self):
diff --git a/tooz/tests/test_coordination.py b/tooz/tests/test_coordination.py
index 1153458..55f3b68 100644
--- a/tooz/tests/test_coordination.py
+++ b/tooz/tests/test_coordination.py
@@ -17,9 +17,9 @@
import threading
import time
from unittest import mock
+import urllib
from concurrent import futures
-from six.moves.urllib import parse
from testtools import matchers
from testtools import testcase
@@ -49,7 +49,7 @@ class TestAPI(tests.TestWithCoordinator):
if (tooz.coordination.Characteristics.DISTRIBUTED_ACROSS_HOSTS
not in self._coord.CHARACTERISTICS):
self.skipTest("This driver is not distributed across hosts")
- scheme = parse.urlparse(self.url).scheme
+ scheme = urllib.parse.urlparse(self.url).scheme
coord = tooz.coordination.get_coordinator(
"%s://localhost:1/f00" % scheme,
self.member_id)
diff --git a/tooz/tests/test_partitioner.py b/tooz/tests/test_partitioner.py
index 30aeb02..39c13b6 100644
--- a/tooz/tests/test_partitioner.py
+++ b/tooz/tests/test_partitioner.py
@@ -13,7 +13,6 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
-import six
from tooz import coordination
from tooz import tests
@@ -32,7 +31,7 @@ class TestPartitioner(tests.TestWithCoordinator):
def _add_members(self, number_of_members, weight=1):
groups = []
- for _ in six.moves.range(number_of_members):
+ for _ in range(number_of_members):
m = tests.get_random_uuid()
coord = coordination.get_coordinator(self.url, m)
coord.start()
@@ -43,7 +42,7 @@ class TestPartitioner(tests.TestWithCoordinator):
return groups
def _remove_members(self, number_of_members):
- for _ in six.moves.range(number_of_members):
+ for _ in range(number_of_members):
c = self._extra_coords.pop()
c.stop()
self._coord.run_watchers()
@@ -80,7 +79,7 @@ class TestPartitioner(tests.TestWithCoordinator):
def test_members_of_object_and_others(self):
p = self._coord.join_partitioned_group(self.group_id)
self._add_members(3)
- o = six.text_type(u"чупакабра")
+ o = str(u"чупакабра")
m = p.members_for_object(o)
self.assertEqual(1, len(m))
m = m.pop()
diff --git a/tooz/tests/test_utils.py b/tooz/tests/test_utils.py
index 39f83fb..717f4fd 100644
--- a/tooz/tests/test_utils.py
+++ b/tooz/tests/test_utils.py
@@ -19,7 +19,6 @@ import os
import tempfile
import futurist
-import six
from testtools import testcase
import tooz
@@ -113,7 +112,7 @@ class TestUtilsCollapse(testcase.TestCase):
'b': [2],
'c': (1, 2, 3),
}
- c_ex = utils.collapse(ex, exclude=set(six.iterkeys(ex)))
+ c_ex = utils.collapse(ex, exclude=set(ex.keys()))
self.assertEqual(ex, c_ex)
def test_custom_selector(self):
diff --git a/tooz/utils.py b/tooz/utils.py
index 1d7b959..4d4ec27 100644
--- a/tooz/utils.py
+++ b/tooz/utils.py
@@ -24,7 +24,6 @@ import msgpack
from oslo_serialization import msgpackutils
from oslo_utils import encodeutils
from oslo_utils import excutils
-import six
import tooz
@@ -36,7 +35,7 @@ class Base64LockEncoder(object):
self.keyspace_url += prefix
def check_and_encode(self, name):
- if not isinstance(name, (six.text_type, six.binary_type)):
+ if not isinstance(name, (str, bytes)):
raise TypeError("Provided lock name is expected to be a string"
" or binary type and not %s" % type(name))
try:
@@ -47,7 +46,7 @@ class Base64LockEncoder(object):
% encodeutils.exception_to_unicode(e))
def encode(self, name):
- if isinstance(name, six.text_type):
+ if isinstance(name, str):
name = name.encode("ascii")
enc_name = base64.urlsafe_b64encode(name)
return self.keyspace_url + "/" + enc_name.decode("ascii")
@@ -154,7 +153,7 @@ def collapse(config, exclude=None, item_selector=operator.itemgetter(-1)):
if exclude is None:
exclude = set()
collapsed = {}
- for (k, v) in six.iteritems(config):
+ for (k, v) in config.items():
if isinstance(v, (tuple, list)):
if k in exclude:
collapsed[k] = v
@@ -168,7 +167,7 @@ def collapse(config, exclude=None, item_selector=operator.itemgetter(-1)):
def to_binary(text, encoding='ascii'):
"""Return the binary representation of string (if not already binary)."""
- if not isinstance(text, six.binary_type):
+ if not isinstance(text, bytes):
text = text.encode(encoding)
return text