Merge "Remove six"
This commit is contained in:
commit
3054d7784e
|
@ -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
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue