diff options
author | Chuck Short <chuck.short@canonical.com> | 2013-05-01 11:22:23 -0500 |
---|---|---|
committer | Chuck Short <chuck.short@canonical.com> | 2013-05-06 15:52:26 -0500 |
commit | fde1e156a38633ce9018569145390bce2047fea8 (patch) | |
tree | ff31b1d70f5e6e35cff4a40101db0ea90ed58bcb /openstack | |
parent | 0c9047cc334578f9f4974c3bc006ba9bc62814d2 (diff) | |
download | oslo-fde1e156a38633ce9018569145390bce2047fea8.tar.gz oslo-fde1e156a38633ce9018569145390bce2047fea8.tar.xz oslo-fde1e156a38633ce9018569145390bce2047fea8.zip |
Convert unicode for python3 portability
From http://docs.python.org/3.1/whatsnew/3.0.html:
"Python 3.0 uses the concepts of text and (binary) data instead of
Unicode strings and 8-bit strings."
Use six.text_type to Type for representing (Unicode) textual data. This
is unicode() in Python 2 and str in Python 3.
Change-Id: I3da268a714a34a8e626a2590f01b86e414dc3411
Signed-off-by: Chuck Short <chuck.short@canonical.com>
Diffstat (limited to 'openstack')
-rw-r--r-- | openstack/common/db/sqlalchemy/session.py | 3 | ||||
-rw-r--r-- | openstack/common/jsonutils.py | 8 | ||||
-rw-r--r-- | openstack/common/policy.py | 3 | ||||
-rw-r--r-- | openstack/common/rpc/common.py | 6 | ||||
-rw-r--r-- | openstack/common/wsgi.py | 3 |
5 files changed, 15 insertions, 8 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 98a0874..d3c88c2 100644 --- a/openstack/common/wsgi.py +++ b/openstack/common/wsgi.py @@ -30,6 +30,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 @@ -451,7 +452,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) |