Remove all usage of six library

Convert all code to not require six library and instead
use python 3.x logic.

Change-Id: I3aba1299172eda0d4212177ccb794ab20dc41334
This commit is contained in:
zhoulinhui 2020-09-15 23:24:41 +08:00
parent 942c75ef02
commit ad501acc9b
11 changed files with 15 additions and 27 deletions

View File

@ -105,7 +105,6 @@ rsa==3.4.2
setproctitle==1.1.10 setproctitle==1.1.10
setuptools==21.0.0 setuptools==21.0.0
simplegeneric==0.8.1 simplegeneric==0.8.1
six==1.10.0
SQLAlchemy==1.0.10 SQLAlchemy==1.0.10
sqlalchemy-migrate==0.11.0 sqlalchemy-migrate==0.11.0
sqlparse==0.2.4 sqlparse==0.2.4

View File

@ -14,7 +14,6 @@
import json import json
from oslo_utils import uuidutils from oslo_utils import uuidutils
import six
from wsme import types as wtypes from wsme import types as wtypes
from qinling import exceptions as exc from qinling import exceptions as exc
@ -33,7 +32,7 @@ class ListType(wtypes.UserType):
:param value: A comma separated string of values :param value: A comma separated string of values
:returns: A list of values. :returns: A list of values.
""" """
items = [v.strip().lower() for v in six.text_type(value).split(',')] items = [v.strip().lower() for v in str(value).split(',')]
# remove empty items. # remove empty items.
return [x for x in items if x] return [x for x in items if x]

View File

@ -21,7 +21,6 @@ from alembic import config as alembic_cfg
from alembic import util as alembic_u from alembic import util as alembic_u
from oslo_config import cfg from oslo_config import cfg
from oslo_utils import importutils from oslo_utils import importutils
import six
# We need to import qinling.api.app to # We need to import qinling.api.app to
# make sure we register all needed options. # make sure we register all needed options.
@ -34,7 +33,7 @@ def do_alembic_command(config, cmd, *args, **kwargs):
try: try:
getattr(alembic_cmd, cmd)(config, *args, **kwargs) getattr(alembic_cmd, cmd)(config, *args, **kwargs)
except alembic_u.CommandError as e: except alembic_u.CommandError as e:
alembic_u.err(six.text_type(e)) alembic_u.err(str(e))
def do_check_migration(config, _cmd): def do_check_migration(config, _cmd):

View File

@ -15,7 +15,6 @@ import time
from oslo_log import log as logging from oslo_log import log as logging
import requests import requests
import six
import tenacity import tenacity
from qinling import context from qinling import context
@ -48,7 +47,7 @@ def url_request(request_session, url, body=None):
) )
return False, {'output': 'Function execution failed.'} return False, {'output': 'Function execution failed.'}
for a in six.moves.xrange(10): for a in range(10):
res = None res = None
try: try:
# Default execution max duration is 3min, could be configurable # Default execution max duration is 3min, could be configurable

View File

@ -14,7 +14,6 @@
import abc import abc
import six
from stevedore import driver from stevedore import driver
from qinling import exceptions as exc from qinling import exceptions as exc
@ -22,8 +21,7 @@ from qinling import exceptions as exc
ORCHESTRATOR = None ORCHESTRATOR = None
@six.add_metaclass(abc.ABCMeta) class OrchestratorBase(object, metaclass=abc.ABCMeta):
class OrchestratorBase(object):
"""OrchestratorBase interface.""" """OrchestratorBase interface."""
@abc.abstractmethod @abc.abstractmethod

View File

@ -14,7 +14,6 @@
import abc import abc
import six
from stevedore import driver from stevedore import driver
from qinling import exceptions as exc from qinling import exceptions as exc
@ -22,8 +21,7 @@ from qinling import exceptions as exc
STORAGE_PROVIDER = None STORAGE_PROVIDER = None
@six.add_metaclass(abc.ABCMeta) class PackageStorage(object, metaclass=abc.ABCMeta):
class PackageStorage(object):
"""PackageStorage interface.""" """PackageStorage interface."""
@abc.abstractmethod @abc.abstractmethod

View File

@ -18,7 +18,6 @@ import sys
import warnings import warnings
from oslo_utils import uuidutils from oslo_utils import uuidutils
import six
from qinling import exceptions as exc from qinling import exceptions as exc
from qinling import version from qinling import version
@ -84,7 +83,7 @@ def convert_dict_to_string(d):
def datetime_to_str(dct, attr_name): def datetime_to_str(dct, attr_name):
"""Convert datetime object in dict to string.""" """Convert datetime object in dict to string."""
if (dct.get(attr_name) is not None and if (dct.get(attr_name) is not None and
not isinstance(dct.get(attr_name), six.string_types)): not isinstance(dct.get(attr_name), str)):
dct[attr_name] = dct[attr_name].strftime('%Y-%m-%dT%H:%M:%SZ') dct[attr_name] = dct[attr_name].strftime('%Y-%m-%dT%H:%M:%SZ')

View File

@ -16,14 +16,13 @@ import datetime
import croniter import croniter
from dateutil import parser from dateutil import parser
from oslo_utils import timeutils from oslo_utils import timeutils
import six
from qinling import exceptions as exc from qinling import exceptions as exc
def validate_next_time(next_execution_time): def validate_next_time(next_execution_time):
next_time = next_execution_time next_time = next_execution_time
if isinstance(next_execution_time, six.string_types): if isinstance(next_execution_time, str):
try: try:
# We need naive datetime object. # We need naive datetime object.
next_time = parser.parse(next_execution_time, ignoretz=True) next_time = parser.parse(next_execution_time, ignoretz=True)

View File

@ -17,7 +17,6 @@ import json
from oslo_log import log as logging from oslo_log import log as logging
import pecan import pecan
import six
import webob import webob
from wsme import exc as wsme_exc from wsme import exc as wsme_exc
@ -44,9 +43,9 @@ def wrap_wsme_controller_exception(func):
except exc.QinlingException as e: except exc.QinlingException as e:
pecan.response.translatable_error = e pecan.response.translatable_error = e
LOG.error('Error during API call: %s', six.text_type(e)) LOG.error('Error during API call: %s', str(e))
raise wsme_exc.ClientSideError( raise wsme_exc.ClientSideError(
msg=six.text_type(e), msg=str(e),
status_code=e.http_code status_code=e.http_code
) )
@ -65,11 +64,11 @@ def wrap_pecan_controller_exception(func):
try: try:
return func(*args, **kwargs) return func(*args, **kwargs)
except exc.QinlingException as e: except exc.QinlingException as e:
LOG.error('Error during API call: %s', six.text_type(e)) LOG.error('Error during API call: %s', str(e))
return webob.Response( return webob.Response(
status=e.http_code, status=e.http_code,
content_type='application/json', content_type='application/json',
body=json.dumps(dict(faultstring=six.text_type(e))), body=json.dumps(dict(faultstring=str(e))),
charset='UTF-8' charset='UTF-8'
) )
@ -86,7 +85,7 @@ def get_filters(**params):
for column, data in params.items(): for column, data in params.items():
if data is not None: if data is not None:
if isinstance(data, six.string_types): if isinstance(data, str):
f_type, value = _extract_filter_type_and_value(data) f_type, value = _extract_filter_type_and_value(data)
create_or_update_filter(column, value, f_type, filters) create_or_update_filter(column, value, f_type, filters)
else: else:
@ -128,7 +127,7 @@ def _extract_filter_type_and_value(data):
prefix = filter_type + ':' prefix = filter_type + ':'
prefix_len = len(prefix) prefix_len = len(prefix)
if data.startswith(prefix): if data.startswith(prefix):
value = six.text_type(data[prefix_len:]) value = str(data[prefix_len:])
if filter_type in LIST_VALUE_FILTER_TYPES: if filter_type in LIST_VALUE_FILTER_TYPES:
value = list(value.split(',')) value = list(value.split(','))
return filter_type, value return filter_type, value

View File

@ -13,11 +13,11 @@
# limitations under the License. # limitations under the License.
import json import json
import urllib
import six
from tempest.lib.common import rest_client from tempest.lib.common import rest_client
urlparse = six.moves.urllib.parse urlparse = urllib.parse
class QinlingClientBase(rest_client.RestClient): class QinlingClientBase(rest_client.RestClient):

View File

@ -19,7 +19,6 @@ oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
oslo.service!=1.28.1,>=1.24.0 # Apache-2.0 oslo.service!=1.28.1,>=1.24.0 # Apache-2.0
pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=21.0.0 # PSF/ZPL setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=21.0.0 # PSF/ZPL
six>=1.10.0 # MIT
SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT
sqlalchemy-migrate>=0.11.0 # Apache-2.0 sqlalchemy-migrate>=0.11.0 # Apache-2.0
stevedore>=1.20.0 # Apache-2.0 stevedore>=1.20.0 # Apache-2.0