summaryrefslogtreecommitdiff
path: root/oslo_serialization/jsonutils.py
diff options
context:
space:
mode:
Diffstat (limited to 'oslo_serialization/jsonutils.py')
-rw-r--r--oslo_serialization/jsonutils.py22
1 files changed, 9 insertions, 13 deletions
diff --git a/oslo_serialization/jsonutils.py b/oslo_serialization/jsonutils.py
index b56310a..17b978e 100644
--- a/oslo_serialization/jsonutils.py
+++ b/oslo_serialization/jsonutils.py
@@ -37,12 +37,11 @@ import itertools
import json
import uuid
import warnings
+from xmlrpc import client as xmlrpclib
from oslo_utils import encodeutils
from oslo_utils import importutils
from oslo_utils import timeutils
-import six
-import six.moves.xmlrpc_client as xmlrpclib
ipaddress = importutils.try_import("ipaddress")
netaddr = importutils.try_import("netaddr")
@@ -53,8 +52,7 @@ _nasty_type_tests = [inspect.ismodule, inspect.isclass, inspect.ismethod,
inspect.iscode, inspect.isbuiltin, inspect.isroutine,
inspect.isabstract]
-_simple_types = ((six.text_type,) + six.integer_types +
- (type(None), bool, float))
+_simple_types = (str, int, type(None), bool, float)
def to_primitive(value, convert_instances=False, convert_datetime=True,
@@ -86,7 +84,7 @@ def to_primitive(value, convert_instances=False, convert_datetime=True,
"""
orig_fallback = fallback
if fallback is None:
- fallback = six.text_type
+ fallback = str
# handle obvious types first - order of basic types determined by running
# full tests on nova project, resulting in the following counts:
@@ -104,10 +102,8 @@ def to_primitive(value, convert_instances=False, convert_datetime=True,
if isinstance(value, _simple_types):
return value
- if isinstance(value, six.binary_type):
- if six.PY3:
- value = value.decode(encoding=encoding)
- return value
+ if isinstance(value, bytes):
+ return value.decode(encoding=encoding)
# It's not clear why xmlrpclib created their own DateTime type, but
# for our purposes, make it a datetime type which is explicitly
@@ -122,15 +118,15 @@ def to_primitive(value, convert_instances=False, convert_datetime=True,
return value
if isinstance(value, uuid.UUID):
- return six.text_type(value)
+ return str(value)
if netaddr and isinstance(value, (netaddr.IPAddress, netaddr.IPNetwork)):
- return six.text_type(value)
+ return str(value)
if ipaddress and isinstance(value,
(ipaddress.IPv4Address,
ipaddress.IPv6Address)):
- return six.text_type(value)
+ return str(value)
# For exceptions, return the 'repr' of the exception object
if isinstance(value, Exception):
@@ -219,7 +215,7 @@ def dump_as_bytes(obj, default=to_primitive, encoding='utf-8', **kwargs):
.. versionadded:: 1.10
"""
serialized = dumps(obj, default=default, **kwargs)
- if isinstance(serialized, six.text_type):
+ if isinstance(serialized, str):
# On Python 3, json.dumps() returns Unicode
serialized = serialized.encode(encoding)
return serialized