summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--openstack/common/db/sqlalchemy/session.py3
-rw-r--r--openstack/common/jsonutils.py8
-rw-r--r--openstack/common/policy.py3
-rw-r--r--openstack/common/rpc/common.py6
-rw-r--r--openstack/common/wsgi.py3
-rw-r--r--tests/unit/rpc/test_common.py14
-rw-r--r--tests/unit/rpc/test_kombu.py10
-rw-r--r--tests/unit/rpc/test_proxy.py4
-rw-r--r--tools/pip-requires1
9 files changed, 34 insertions, 18 deletions
diff --git a/openstack/common/db/sqlalchemy/session.py b/openstack/common/db/sqlalchemy/session.py
index a19fc01..d2a54ee 100644
--- a/openstack/common/db/sqlalchemy/session.py
+++ b/openstack/common/db/sqlalchemy/session.py
@@ -246,6 +246,7 @@ import time
from eventlet import greenthread
from oslo.config import cfg
+import six
from sqlalchemy import exc as sqla_exc
import sqlalchemy.interfaces
from sqlalchemy.interfaces import PoolListener
@@ -483,7 +484,7 @@ def _add_regexp_listener(dbapi_con, con_record):
def regexp(expr, item):
reg = re.compile(expr)
- return reg.search(unicode(item)) is not None
+ return reg.search(six.text_type(item)) is not None
dbapi_con.create_function('regexp', 2, regexp)
diff --git a/openstack/common/jsonutils.py b/openstack/common/jsonutils.py
index f3cc0e9..bf23403 100644
--- a/openstack/common/jsonutils.py
+++ b/openstack/common/jsonutils.py
@@ -41,6 +41,8 @@ import json
import types
import xmlrpclib
+import six
+
from openstack.common import timeutils
@@ -93,7 +95,7 @@ def to_primitive(value, convert_instances=False, convert_datetime=True,
# value of itertools.count doesn't get caught by nasty_type_tests
# and results in infinite loop when list(value) is called.
if type(value) == itertools.count:
- return unicode(value)
+ return six.text_type(value)
# FIXME(vish): Workaround for LP bug 852095. Without this workaround,
# tests that raise an exception in a mocked method that
@@ -137,12 +139,12 @@ def to_primitive(value, convert_instances=False, convert_datetime=True,
return recursive(value.__dict__, level=level + 1)
else:
if any(test(value) for test in _nasty_type_tests):
- return unicode(value)
+ return six.text_type(value)
return value
except TypeError:
# Class objects are tricky since they may define something like
# __iter__ defined but it isn't callable as list().
- return unicode(value)
+ return six.text_type(value)
def dumps(value, default=to_primitive, **kwargs):
diff --git a/openstack/common/policy.py b/openstack/common/policy.py
index 6126774..21ea010 100644
--- a/openstack/common/policy.py
+++ b/openstack/common/policy.py
@@ -60,6 +60,7 @@ import abc
import re
import urllib
+import six
import urllib2
from openstack.common.gettextutils import _
@@ -775,5 +776,5 @@ class GenericCheck(Check):
# TODO(termie): do dict inspection via dot syntax
match = self.match % target
if self.kind in creds:
- return match == unicode(creds[self.kind])
+ return match == six.text_type(creds[self.kind])
return False
diff --git a/openstack/common/rpc/common.py b/openstack/common/rpc/common.py
index 2bc7c61..d74425d 100644
--- a/openstack/common/rpc/common.py
+++ b/openstack/common/rpc/common.py
@@ -22,6 +22,7 @@ import sys
import traceback
from oslo.config import cfg
+import six
from openstack.common.gettextutils import _
from openstack.common import importutils
@@ -299,7 +300,8 @@ def serialize_remote_exception(failure_info, log_failure=True):
tb = traceback.format_exception(*failure_info)
failure = failure_info[1]
if log_failure:
- LOG.error(_("Returning exception %s to caller"), unicode(failure))
+ LOG.error(_("Returning exception %s to caller"),
+ six.text_type(failure))
LOG.error(tb)
kwargs = {}
@@ -309,7 +311,7 @@ def serialize_remote_exception(failure_info, log_failure=True):
data = {
'class': str(failure.__class__.__name__),
'module': str(failure.__class__.__module__),
- 'message': unicode(failure),
+ 'message': six.text_type(failure),
'tb': tb,
'args': failure.args,
'kwargs': kwargs
diff --git a/openstack/common/wsgi.py b/openstack/common/wsgi.py
index 064c09c..9e92ffe 100644
--- a/openstack/common/wsgi.py
+++ b/openstack/common/wsgi.py
@@ -32,6 +32,7 @@ import eventlet.wsgi
from oslo.config import cfg
import routes
import routes.middleware
+import six
import webob.dec
import webob.exc
from xml.dom import minidom
@@ -453,7 +454,7 @@ class JSONDictSerializer(DictSerializer):
if isinstance(obj, datetime.datetime):
_dtime = obj - datetime.timedelta(microseconds=obj.microsecond)
return _dtime.isoformat()
- return unicode(obj)
+ return six.text_type(obj)
return jsonutils.dumps(data, default=sanitizer)
diff --git a/tests/unit/rpc/test_common.py b/tests/unit/rpc/test_common.py
index 2248a8f..18951df 100644
--- a/tests/unit/rpc/test_common.py
+++ b/tests/unit/rpc/test_common.py
@@ -20,6 +20,7 @@ Unit Tests for 'common' functons used through rpc code.
import logging
import sys
+import six
from oslo.config import cfg
from openstack.common import exception
@@ -96,7 +97,8 @@ class RpcCommonTestCase(test_utils.BaseTestCase):
after_exc = rpc_common.deserialize_remote_exception(FLAGS, serialized)
self.assertTrue(isinstance(after_exc, NotImplementedError))
#assure the traceback was added
- self.assertTrue('raise NotImplementedError' in unicode(after_exc))
+ self.assertTrue('raise NotImplementedError' in
+ six.text_type(after_exc))
def test_deserialize_remote_custom_exception(self):
failure = {
@@ -109,9 +111,9 @@ class RpcCommonTestCase(test_utils.BaseTestCase):
after_exc = rpc_common.deserialize_remote_exception(FLAGS, serialized)
self.assertTrue(isinstance(after_exc, exception.OpenstackException))
- self.assertTrue('An unknown' in unicode(after_exc))
+ self.assertTrue('An unknown' in six.text_type(after_exc))
#assure the traceback was added
- self.assertTrue('raise OpenstackException' in unicode(after_exc))
+ self.assertTrue('raise OpenstackException' in six.text_type(after_exc))
def test_deserialize_remote_exception_bad_module(self):
failure = {
@@ -138,7 +140,8 @@ class RpcCommonTestCase(test_utils.BaseTestCase):
after_exc = rpc_common.deserialize_remote_exception(FLAGS, serialized)
self.assertTrue(isinstance(after_exc, FakeUserDefinedException))
#assure the traceback was added
- self.assertTrue('raise FakeUserDefinedException' in unicode(after_exc))
+ self.assertTrue('raise FakeUserDefinedException' in
+ six.text_type(after_exc))
def test_deserialize_remote_exception_args_and_kwargs(self):
"""
@@ -178,7 +181,8 @@ class RpcCommonTestCase(test_utils.BaseTestCase):
after_exc = rpc_common.deserialize_remote_exception(FLAGS, serialized)
self.assertTrue(isinstance(after_exc, rpc_common.RemoteError))
#assure the traceback was added
- self.assertTrue('raise FakeIDontExistException' in unicode(after_exc))
+ self.assertTrue('raise FakeIDontExistException' in
+ six.text_type(after_exc))
def test_loading_old_nova_config(self):
self.config(rpc_backend='nova.rpc.impl_qpid')
diff --git a/tests/unit/rpc/test_kombu.py b/tests/unit/rpc/test_kombu.py
index ae07bed..73ce2ce 100644
--- a/tests/unit/rpc/test_kombu.py
+++ b/tests/unit/rpc/test_kombu.py
@@ -26,6 +26,7 @@ import contextlib
import logging
import mock
+import six
from oslo.config import cfg
from openstack.common import exception
@@ -465,9 +466,10 @@ class RpcKombuTestCase(amqp.BaseRpcAMQPTestCase):
"args": {"value": value}})
self.fail("should have thrown Exception")
except NotImplementedError as exc:
- self.assertTrue(value in unicode(exc))
+ self.assertTrue(value in six.text_type(exc))
#Traceback should be included in exception message
- self.assertTrue('raise NotImplementedError(value)' in unicode(exc))
+ self.assertTrue('raise NotImplementedError(value)' in
+ six.text_type(exc))
def test_call_converted_exception(self):
"""Test that exception gets passed back properly.
@@ -492,9 +494,9 @@ class RpcKombuTestCase(amqp.BaseRpcAMQPTestCase):
"args": {"value": value}})
self.fail("should have thrown Exception")
except exception.ApiError as exc:
- self.assertTrue(value in unicode(exc))
+ self.assertTrue(value in six.text_type(exc))
#Traceback should be included in exception message
- self.assertTrue('exception.ApiError' in unicode(exc))
+ self.assertTrue('exception.ApiError' in six.text_type(exc))
def test_create_worker(self):
meth = 'declare_topic_consumer'
diff --git a/tests/unit/rpc/test_proxy.py b/tests/unit/rpc/test_proxy.py
index fe4bffb..a84a7ea 100644
--- a/tests/unit/rpc/test_proxy.py
+++ b/tests/unit/rpc/test_proxy.py
@@ -20,6 +20,8 @@ Unit Tests for rpc.proxy
import copy
+import six
+
from openstack.common import context
from openstack.common import lockutils
from openstack.common import rpc
@@ -102,7 +104,7 @@ class RpcProxyTestCase(utils.BaseTestCase):
self.assertEqual(
u'Timeout while waiting on RPC response - '
'topic: "fake_topic", RPC method: "fake_method" '
- 'info: "The spider got you"', unicode(exc))
+ 'info: "The spider got you"', six.text_type(exc))
_check_args(ctxt, topic, expected_msg, timeout=42)
self.stubs.Set(rpc, rpc_method, _fake_rpc_method)
diff --git a/tools/pip-requires b/tools/pip-requires
index 619488b..b31640b 100644
--- a/tools/pip-requires
+++ b/tools/pip-requires
@@ -12,3 +12,4 @@ stevedore
SQLAlchemy>=0.7.8,<=0.7.9
oslo.config>=1.1.0
qpid-python
+six