Merge "Remove six"

This commit is contained in:
Zuul 2021-01-25 08:33:20 +00:00 committed by Gerrit Code Review
commit 3054d7784e
21 changed files with 45 additions and 76 deletions

View File

@ -27,7 +27,6 @@ from oslo_serialization import jsonutils
from oslo_utils import strutils
from oslo_utils import timeutils
import pecan
import six
import wsme
from wsme import types as wtypes
@ -119,7 +118,7 @@ class Query(Base):
'float': float,
'boolean': functools.partial(
strutils.bool_from_string, strict=True),
'string': six.text_type,
'string': str,
'datetime': timeutils.parse_isotime}
_op = None # provide a default

View File

@ -24,7 +24,6 @@ from oslo_log import log
from oslo_utils import strutils
import pecan
from pecan import rest
import six
import wsme
from wsme import types as wtypes
import wsmeext.pecan as wsme_pecan
@ -108,7 +107,7 @@ class Trait(base.Base):
"""
if isinstance(trait, Trait):
return trait
value = (six.text_type(trait.value)
value = (str(trait.value)
if not trait.dtype == event_models.Trait.DATETIME_TYPE
else trait.value.isoformat())
trait_type = event_models.Trait.get_name_by_type(trait.dtype)
@ -280,7 +279,7 @@ class EventTypesController(rest.RestController):
pecan.abort(404)
@v2_utils.requires_admin
@wsme_pecan.wsexpose([six.text_type])
@wsme_pecan.wsexpose([str])
def get_all(self):
"""Get all event types."""
return list(pecan.request.conn.get_event_types())

View File

@ -22,7 +22,6 @@ Based on pecan.middleware.errordocument
from lxml import etree
from oslo_log import log
from oslo_serialization import jsonutils
import six
import webob
from panko import i18n
@ -100,13 +99,11 @@ class ParsableErrorMiddleware(object):
LOG.error('Error parsing HTTP response: %s', err)
error_message = state['status_code']
body = '<error_message>%s</error_message>' % error_message
if six.PY3:
body = body.encode('utf-8')
body = body.encode('utf-8')
else:
content_type = 'application/json'
app_data = b'\n'.join(app_iter)
if six.PY3:
app_data = app_data.decode('utf-8')
app_data = app_data.decode('utf-8')
try:
fault = jsonutils.loads(app_data)
if error is not None and 'faultstring' in fault:
@ -115,8 +112,7 @@ class ParsableErrorMiddleware(object):
except ValueError:
fault = app_data
body = jsonutils.dumps({'error_message': fault})
if six.PY3:
body = body.encode('utf-8')
body = body.encode('utf-8')
state['headers'].append(('Content-Length', str(len(body))))
state['headers'].append(('Content-Type', content_type))

View File

@ -15,10 +15,10 @@
"""Storage backend management
"""
from urllib import parse as urlparse
from oslo_config import cfg
from oslo_log import log
import six
import six.moves.urllib.parse as urlparse
from stevedore import driver
import tenacity
@ -138,4 +138,4 @@ class EventFilter(object):
(self.start_timestamp,
self.end_timestamp,
self.event_type,
six.text_type(self.traits_filter)))
str(self.traits_filter)))

View File

@ -15,8 +15,6 @@
"""Base classes for storage engines
"""
import six
import panko
@ -25,7 +23,7 @@ class Model(object):
def __init__(self, **kwds):
self.fields = list(kwds)
for k, v in six.iteritems(kwds):
for k, v in kwds.items():
setattr(self, k, v)
def as_dict(self):

View File

@ -12,12 +12,12 @@
# under the License.
import os
from urllib import parse as urlparse
import warnings
import happybase
from oslo_log import log
from oslo_utils import netutils
from six.moves.urllib import parse as urlparse
from panko.storage.hbase import inmemory as hbase_inmemory

View File

@ -18,7 +18,6 @@ import copy
import re
from oslo_log import log
import six
import panko
@ -35,8 +34,8 @@ class MTable(object):
def row(self, key, columns=None):
if key not in self._rows_with_ts:
return {}
res = copy.copy(sorted(six.iteritems(
self._rows_with_ts.get(key)))[-1][1])
res = copy.copy(sorted(
self._rows_with_ts.get(key).items())[-1][1])
if columns:
keys = res.keys()
for key in keys:
@ -72,7 +71,7 @@ class MTable(object):
# To get result as HBase provides we should iterate in reverse order
# and get from "latest" data only key-values that are not in newer data
data = {}
for i in sorted(six.iteritems(self._rows_with_ts[row])):
for i in sorted(self._rows_with_ts[row].items()):
data.update(i[1])
return data
@ -91,7 +90,7 @@ class MTable(object):
if columns:
ret = {}
for row, data in six.iteritems(rows):
for row, data in rows.items():
for key in data:
if key in columns:
ret[row] = data

View File

@ -14,6 +14,7 @@
import copy
import datetime
import urllib
import bson.json_util
try:
@ -24,7 +25,6 @@ except ImportError:
from Hbase_thrift import AlreadyExists
from oslo_log import log
from oslo_serialization import jsonutils
import six
from panko.i18n import _
@ -180,7 +180,7 @@ def prepare_key(*args):
"""
key_quote = []
for key in args:
if isinstance(key, six.integer_types):
if isinstance(key, int):
key = str(key)
key_quote.append(quote(key))
return ":".join(key_quote)
@ -258,7 +258,7 @@ def quote(s, *args):
:param args: any symbol we want to stay unquoted
"""
s_en = s.encode('utf8')
return six.moves.urllib.parse.quote(s_en, *args)
return urllib.parse.quote(s_en, *args)
def unquote(s):
@ -266,5 +266,5 @@ def unquote(s):
:param s: string that should be unquoted
"""
s_de = six.moves.urllib.parse.unquote(s)
s_de = urllib.parse.unquote(s)
return s_de.decode('utf8')

View File

@ -19,7 +19,6 @@ from elasticsearch import helpers
from oslo_log import log
from oslo_utils import netutils
from oslo_utils import timeutils
import six
from panko import storage
from panko.storage import base
@ -151,7 +150,7 @@ class Connection(base.Connection):
for val_type in ['integer', 'string', 'float', 'datetime']:
if t_filter.get(val_type):
value = t_filter.get(val_type)
if isinstance(value, six.string_types):
if isinstance(value, str):
value = value.lower()
elif isinstance(value, datetime.datetime):
value = value.isoformat()

View File

@ -13,7 +13,6 @@
"""Model classes for use in the events storage API.
"""
from oslo_utils import timeutils
import six
from panko.storage import base
@ -60,7 +59,7 @@ class Event(base.Model):
def __repr__(self):
trait_list = []
if self.traits:
trait_list = [six.text_type(trait) for trait in self.traits]
trait_list = [str(trait) for trait in self.traits]
return ("<Event: %s, %s, %s, %s>" %
(self.message_id, self.event_type, self.generated,
" ".join(trait_list)))
@ -128,6 +127,6 @@ class Trait(base.Model):
if trait_type is cls.DATETIME_TYPE:
return timeutils.normalize_time(timeutils.parse_isotime(value))
# Cropping the text value to match the TraitText value size
if isinstance(value, six.binary_type):
if isinstance(value, bytes):
return value.decode('utf-8')[:255]
return six.text_type(value)[:255]
return str(value)[:255]

View File

@ -21,7 +21,6 @@ from oslo_log import log
from oslo_utils import netutils
import pymongo
import pymongo.errors
import six
import tenacity
from panko.i18n import _
@ -86,7 +85,7 @@ def make_events_query_from_filter(event_filter):
for trait_filter in event_filter.traits_filter:
op = trait_filter.pop('op', 'eq')
dict_query = {}
for k, v in six.iteritems(trait_filter):
for k, v in trait_filter.items():
if v is not None:
# All parameters in EventFilter['traits'] are optional, so
# we need to check if they are in the query or no.

View File

@ -16,7 +16,6 @@ SQLAlchemy models for Panko data.
from oslo_serialization import jsonutils
import six
import sqlalchemy
from sqlalchemy import Column, Integer, String, ForeignKey, Index
from sqlalchemy import BigInteger, Float, DateTime
@ -90,7 +89,7 @@ class PankoBase(object):
def update(self, values):
"""Make the model object behave like a dict."""
for k, v in six.iteritems(values):
for k, v in values.items():
setattr(self, k, v)

View File

@ -18,7 +18,6 @@ import os.path
from oslo_utils import timeutils
from oslotest import base
import six
from testtools import testcase
import webtest
@ -71,10 +70,10 @@ def _skip_decorator(func):
try:
return func(*args, **kwargs)
except panko.NotImplementedError as e:
raise testcase.TestSkipped(six.text_type(e))
raise testcase.TestSkipped(str(e))
except webtest.app.AppError as e:
if 'not implemented' in six.text_type(e):
raise testcase.TestSkipped(six.text_type(e))
if 'not implemented' in str(e):
raise testcase.TestSkipped(str(e))
raise
return skip_if_not_implemented

View File

@ -17,12 +17,11 @@
"""Base classes for API tests."""
import os
from unittest import mock
from urllib import parse as urlparse
import warnings
import fixtures
from oslo_utils import uuidutils
import six
from six.moves.urllib import parse as urlparse
import sqlalchemy
from testtools import testcase
@ -50,7 +49,7 @@ class MongoDbManager(fixtures.Fixture):
try:
self.connection = storage.get_connection(self.url, self.conf)
except storage.StorageBadVersion as e:
raise testcase.TestSkipped(six.text_type(e))
raise testcase.TestSkipped(str(e))
@property
def url(self):
@ -158,8 +157,8 @@ class SQLiteManager(fixtures.Fixture):
self.url, self.conf)
@six.add_metaclass(test_base.SkipNotImplementedMeta)
class TestBase(test_base.BaseTestCase):
class TestBase(test_base.BaseTestCase,
metaclass=test_base.SkipNotImplementedMeta):
DRIVER_MANAGERS = {
'mongodb': MongoDbManager,
@ -224,10 +223,7 @@ def run_with(*drivers):
for attr in dir(test):
value = getattr(test, attr)
if callable(value) and attr.startswith('test_'):
if six.PY3:
value._run_with = drivers
else:
value.__func__._run_with = drivers
value._run_with = drivers
else:
test._run_with = drivers
return test

View File

@ -20,7 +20,6 @@ import os
from keystonemiddleware import fixture as ksm_fixture
from oslo_utils import fileutils
from oslo_utils import uuidutils
import six
import webtest
from panko.api import app
@ -131,8 +130,7 @@ class TestApiEventAdminRBAC(TestBaseApiEventRBAC):
content = ('{"context_is_admin": "role:admin",'
'"telemetry:events:index": "rule:context_is_admin",'
'"telemetry:events:show": "rule:context_is_admin"}')
if six.PY3:
content = content.encode('utf-8')
content = content.encode('utf-8')
self.tempfile = fileutils.write_to_tempfile(content=content,
prefix='policy',
suffix='.json')

View File

@ -18,14 +18,13 @@
import datetime
import os
from unittest import case
from urllib import parse as urlparse
from gabbi import fixture
from oslo_config import cfg
from oslo_policy import opts
from oslo_utils import fileutils
from oslo_utils import uuidutils
import six
from six.moves.urllib import parse as urlparse
import sqlalchemy_utils
from panko.api import app
@ -65,8 +64,7 @@ class ConfigFixture(fixture.GabbiFixture):
opts.set_defaults(self.conf)
content = ('{"default": ""}')
if six.PY3:
content = content.encode('utf-8')
content = content.encode('utf-8')
self.tempfile = fileutils.write_to_tempfile(content=content,
prefix='policy',
suffix='.json')

View File

@ -19,8 +19,8 @@
"""
import datetime
import reprlib
from six.moves import reprlib
from panko.storage import impl_sqlalchemy as impl_sqla_event
from panko.storage import models

View File

@ -16,7 +16,6 @@ import os
import subprocess
from oslo_utils import fileutils
import six
from panko.tests import base
@ -26,8 +25,7 @@ class BinTestCase(base.BaseTestCase):
super(BinTestCase, self).setUp()
content = ("[database]\n"
"connection=log://localhost\n")
if six.PY3:
content = content.encode('utf-8')
content = content.encode('utf-8')
self.tempfile = fileutils.write_to_tempfile(content=content,
prefix='panko',
suffix='.conf')
@ -55,8 +53,7 @@ class BinTestCase(base.BaseTestCase):
content = ("[database]\n"
"%s=1\n"
"connection=log://localhost\n" % ttl_name)
if six.PY3:
content = content.encode('utf-8')
content = content.encode('utf-8')
self.tempfile = fileutils.write_to_tempfile(content=content,
prefix='panko',
suffix='.conf')
@ -67,8 +64,7 @@ class BinTestCase(base.BaseTestCase):
out, __ = subp.communicate()
self.assertEqual(0, subp.poll())
msg = "Dropping 100 %ss data with TTL 1" % data_name
if six.PY3:
msg = msg.encode('utf-8')
msg = msg.encode('utf-8')
self.assertIn(msg, out)
def test_run_expirer_ttl_enabled(self):

View File

@ -18,7 +18,6 @@
from unittest import mock
from oslotest import base
import six
from panko import service
from panko import storage
@ -35,7 +34,7 @@ class EngineTest(base.BaseTestCase):
try:
storage.get_connection('no-such-engine://localhost', None)
except RuntimeError as err:
self.assertIn('no-such-engine', six.text_type(err))
self.assertIn('no-such-engine', str(err))
class ConnectionRetryTest(base.BaseTestCase):

View File

@ -25,7 +25,6 @@ import decimal
from oslo_utils import timeutils
from oslo_utils import units
import six
def decode_unicode(input):
@ -36,7 +35,7 @@ def decode_unicode(input):
# predictable insertion order to avoid inconsistencies in the
# message signature computation for equivalent payloads modulo
# ordering
for key, value in sorted(six.iteritems(input)):
for key, value in sorted(input.items()):
temp[decode_unicode(key)] = decode_unicode(value)
return temp
elif isinstance(input, (tuple, list)):
@ -44,9 +43,7 @@ def decode_unicode(input):
# the tuple would become list. So we have to generate the value as
# list here.
return [decode_unicode(element) for element in input]
elif six.PY2 and isinstance(input, six.text_type):
return input.encode('utf-8')
elif six.PY3 and isinstance(input, six.binary_type):
elif isinstance(input, bytes):
return input.decode('utf-8')
else:
return input
@ -54,7 +51,7 @@ def decode_unicode(input):
def recursive_keypairs(d, separator=':'):
"""Generator that produces sequence of keypairs for nested dictionaries."""
for name, value in sorted(six.iteritems(d)):
for name, value in sorted(d.items()):
if isinstance(value, dict):
for subname, subvalue in recursive_keypairs(value, separator):
yield ('%s%s%s' % (name, separator, subname), subvalue)
@ -105,7 +102,7 @@ def update_nested(original_dict, updates):
Updates occur without replacing entire sub-dicts.
"""
dict_to_update = copy.deepcopy(original_dict)
for key, value in six.iteritems(updates):
for key, value in updates.items():
if isinstance(value, dict):
sub_dict = update_nested(dict_to_update.get(key, {}), value)
dict_to_update[key] = sub_dict

View File

@ -21,7 +21,6 @@ oslo.middleware>=3.10.0 # Apache-2.0
oslo.serialization>=2.25.0 # Apache-2.0
oslo.utils>=3.5.0 # Apache-2.0
PyYAML>=3.1.0 # MIT
six>=1.9.0 # MIT
SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT
stevedore>=1.9.0 # Apache-2.0
WebOb>=1.2.3 # MIT