diff options
Diffstat (limited to 'taskflow/persistence')
-rw-r--r-- | taskflow/persistence/backends/impl_memory.py | 3 | ||||
-rw-r--r-- | taskflow/persistence/backends/impl_sqlalchemy.py | 13 | ||||
-rw-r--r-- | taskflow/persistence/base.py | 8 | ||||
-rw-r--r-- | taskflow/persistence/models.py | 20 | ||||
-rw-r--r-- | taskflow/persistence/path_based.py | 7 |
5 files changed, 20 insertions, 31 deletions
diff --git a/taskflow/persistence/backends/impl_memory.py b/taskflow/persistence/backends/impl_memory.py index 3b6f10c..d7fdef8 100644 --- a/taskflow/persistence/backends/impl_memory.py +++ b/taskflow/persistence/backends/impl_memory.py @@ -21,7 +21,6 @@ import itertools import posixpath as pp import fasteners -import six from taskflow import exceptions as exc from taskflow.persistence import path_based @@ -261,7 +260,7 @@ class FakeFilesystem(object): if 'target' in node.metadata: return "%s (link to %s)" % (node.item, node.metadata['target']) else: - return six.text_type(node.item) + return str(node.item) def pformat(self): """Pretty format this in-memory filesystem.""" diff --git a/taskflow/persistence/backends/impl_sqlalchemy.py b/taskflow/persistence/backends/impl_sqlalchemy.py index 2dbe6ff..3ac0f3d 100644 --- a/taskflow/persistence/backends/impl_sqlalchemy.py +++ b/taskflow/persistence/backends/impl_sqlalchemy.py @@ -22,7 +22,6 @@ import threading import time from oslo_utils import strutils -import six import sqlalchemy as sa from sqlalchemy import exc as sa_exc from sqlalchemy import pool as sa_pool @@ -116,7 +115,7 @@ def _log_statements(log_level, conn, cursor, statement, parameters, *args): def _in_any(reason, err_haystack): """Checks if any elements of the haystack are in the given reason.""" for err in err_haystack: - if reason.find(six.text_type(err)) != -1: + if reason.find(str(err)) != -1: return True return False @@ -173,10 +172,10 @@ def _ping_listener(dbapi_conn, connection_rec, connection_proxy): try: dbapi_conn.cursor().execute('select 1') except dbapi_conn.OperationalError as ex: - if _in_any(six.text_type(ex.args[0]), MY_SQL_GONE_WAY_AWAY_ERRORS): + if _in_any(str(ex.args[0]), MY_SQL_GONE_WAY_AWAY_ERRORS): LOG.warning('Got mysql server has gone away', exc_info=True) raise sa_exc.DisconnectionError("Database server went away") - elif _in_any(six.text_type(ex.args[0]), POSTGRES_GONE_WAY_AWAY_ERRORS): + elif _in_any(str(ex.args[0]), POSTGRES_GONE_WAY_AWAY_ERRORS): LOG.warning('Got postgres server has gone away', exc_info=True) raise sa_exc.DisconnectionError("Database server went away") else: @@ -285,13 +284,13 @@ class SQLAlchemyBackend(base.Backend): txn_isolation_levels = conf.pop('isolation_levels', DEFAULT_TXN_ISOLATION_LEVELS) level_applied = False - for (driver, level) in six.iteritems(txn_isolation_levels): + for (driver, level) in txn_isolation_levels.items(): if driver == e_url.drivername: engine_args['isolation_level'] = level level_applied = True break if not level_applied: - for (driver, level) in six.iteritems(txn_isolation_levels): + for (driver, level) in txn_isolation_levels.items(): if e_url.drivername.find(driver) != -1: engine_args['isolation_level'] = level break @@ -362,7 +361,7 @@ class Connection(base.Connection): def _retry_on_exception(exc): LOG.warning("Engine connection (validate) failed due to '%s'", exc) if isinstance(exc, sa_exc.OperationalError) and \ - _is_db_connection_error(six.text_type(exc.args[0])): + _is_db_connection_error(str(exc.args[0])): # We may be able to fix this by retrying... return True if isinstance(exc, (sa_exc.TimeoutError, diff --git a/taskflow/persistence/base.py b/taskflow/persistence/base.py index 7f08c92..dc041f7 100644 --- a/taskflow/persistence/base.py +++ b/taskflow/persistence/base.py @@ -16,13 +16,10 @@ import abc -import six - from taskflow.persistence import models -@six.add_metaclass(abc.ABCMeta) -class Backend(object): +class Backend(object, metaclass=abc.ABCMeta): """Base class for persistence backends.""" def __init__(self, conf): @@ -42,8 +39,7 @@ class Backend(object): """Closes any resources this backend has open.""" -@six.add_metaclass(abc.ABCMeta) -class Connection(object): +class Connection(object, metaclass=abc.ABCMeta): """Base class for backend connections.""" @abc.abstractproperty diff --git a/taskflow/persistence/models.py b/taskflow/persistence/models.py index 0c3385a..8d3235d 100644 --- a/taskflow/persistence/models.py +++ b/taskflow/persistence/models.py @@ -21,7 +21,6 @@ import os from oslo_utils import timeutils from oslo_utils import uuidutils -import six from taskflow import exceptions as exc from taskflow import states @@ -259,7 +258,7 @@ class LogBook(object): return self._name def __iter__(self): - for fd in six.itervalues(self._flowdetails_by_id): + for fd in self._flowdetails_by_id.values(): yield fd def __len__(self): @@ -464,15 +463,14 @@ class FlowDetail(object): return self._name def __iter__(self): - for ad in six.itervalues(self._atomdetails_by_id): + for ad in self._atomdetails_by_id.values(): yield ad def __len__(self): return len(self._atomdetails_by_id) -@six.add_metaclass(abc.ABCMeta) -class AtomDetail(object): +class AtomDetail(object, metaclass=abc.ABCMeta): """A collection of atom specific runtime information and metadata. This is a base **abstract** class that contains attributes that are used @@ -887,7 +885,7 @@ class RetryDetail(AtomDetail): # contain tracebacks, which are not copyable. for (data, failures) in self.results: copied_failures = {} - for (key, failure) in six.iteritems(failures): + for (key, failure) in failures.items(): copied_failures[key] = failure results.append((data, copied_failures)) clone.results = results @@ -980,7 +978,7 @@ class RetryDetail(AtomDetail): new_results = [] for (data, failures) in results: new_failures = {} - for (key, data) in six.iteritems(failures): + for (key, data) in failures.items(): new_failures[key] = ft.Failure.from_dict(data) new_results.append((data, new_failures)) return new_results @@ -998,7 +996,7 @@ class RetryDetail(AtomDetail): new_results = [] for (data, failures) in results: new_failures = {} - for (key, failure) in six.iteritems(failures): + for (key, failure) in failures.items(): new_failures[key] = failure.to_dict() new_results.append((data, new_failures)) return new_results @@ -1041,7 +1039,7 @@ class RetryDetail(AtomDetail): # contain tracebacks, which are not copyable. for (data, failures) in other.results: copied_failures = {} - for (key, failure) in six.iteritems(failures): + for (key, failure) in failures.items(): if deep_copy: copied_failures[key] = failure.copy() else: @@ -1056,8 +1054,8 @@ _DETAIL_TO_NAME = { TaskDetail: 'TASK_DETAIL', } _NAME_TO_DETAIL = dict((name, cls) - for (cls, name) in six.iteritems(_DETAIL_TO_NAME)) -ATOM_TYPES = list(six.iterkeys(_NAME_TO_DETAIL)) + for (cls, name) in _DETAIL_TO_NAME.items()) +ATOM_TYPES = list(_NAME_TO_DETAIL.keys()) def atom_detail_class(atom_type): diff --git a/taskflow/persistence/path_based.py b/taskflow/persistence/path_based.py index f2d411b..6fa3c05 100644 --- a/taskflow/persistence/path_based.py +++ b/taskflow/persistence/path_based.py @@ -15,15 +15,13 @@ # under the License. import abc -import six from taskflow import exceptions as exc from taskflow.persistence import base from taskflow.persistence import models -@six.add_metaclass(abc.ABCMeta) -class PathBasedBackend(base.Backend): +class PathBasedBackend(base.Backend, metaclass=abc.ABCMeta): """Base class for persistence backends that address data by path Subclasses of this backend write logbooks, flow details, and atom details @@ -48,8 +46,7 @@ class PathBasedBackend(base.Backend): return self._path -@six.add_metaclass(abc.ABCMeta) -class PathBasedConnection(base.Connection): +class PathBasedConnection(base.Connection, metaclass=abc.ABCMeta): """Base class for path based backend connections.""" def __init__(self, backend): |