Add python 3 support
Replaced unicode with six.text_type copied from I9f084ef4fae1ec1111e26142e2e89bad18acbf45 Change-Id: Icba62cb7a76884289ffd93f61a16cdf89fcdce86
This commit is contained in:
@@ -21,7 +21,6 @@ from . import models
|
|||||||
from .rest import RESTClient
|
from .rest import RESTClient
|
||||||
from .rest import ApiException
|
from .rest import ApiException
|
||||||
|
|
||||||
import ast
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import json
|
import json
|
||||||
@@ -34,11 +33,19 @@ from datetime import datetime
|
|||||||
from datetime import date
|
from datetime import date
|
||||||
|
|
||||||
# python 2 and python 3 compatibility library
|
# python 2 and python 3 compatibility library
|
||||||
|
import six
|
||||||
from six import iteritems
|
from six import iteritems
|
||||||
|
import six.moves.builtins as __builtin__
|
||||||
from six.moves.urllib import parse as urlparse
|
from six.moves.urllib import parse as urlparse
|
||||||
|
|
||||||
from .configuration import Configuration
|
from .configuration import Configuration
|
||||||
|
|
||||||
|
if six.PY3:
|
||||||
|
import io
|
||||||
|
file_type = io.IOBase
|
||||||
|
else:
|
||||||
|
file_type = file # noqa
|
||||||
|
|
||||||
|
|
||||||
class ApiClient(object):
|
class ApiClient(object):
|
||||||
"""
|
"""
|
||||||
@@ -184,7 +191,8 @@ class ApiClient(object):
|
|||||||
"""
|
"""
|
||||||
if isinstance(obj, type(None)):
|
if isinstance(obj, type(None)):
|
||||||
return None
|
return None
|
||||||
elif isinstance(obj, (unicode, str, int, float, bool, tuple, file)):
|
elif isinstance(obj, (six.text_type, str, int, float,
|
||||||
|
bool, tuple, file_type)):
|
||||||
return obj
|
return obj
|
||||||
elif isinstance(obj, list):
|
elif isinstance(obj, list):
|
||||||
return [self.sanitize_for_serialization(sub_obj)
|
return [self.sanitize_for_serialization(sub_obj)
|
||||||
@@ -257,10 +265,10 @@ class ApiClient(object):
|
|||||||
# for native types
|
# for native types
|
||||||
if klass in ['int', 'float', 'str', 'bool',
|
if klass in ['int', 'float', 'str', 'bool',
|
||||||
"date", 'datetime', "object"]:
|
"date", 'datetime', "object"]:
|
||||||
klass = ast.literal_eval(klass)
|
klass = getattr(__builtin__, klass)
|
||||||
# for model types
|
# for model types
|
||||||
else:
|
else:
|
||||||
klass = ast.literal_eval('models.' + klass)
|
klass = getattr(models, klass)
|
||||||
|
|
||||||
if klass in [int, float, str, bool]:
|
if klass in [int, float, str, bool]:
|
||||||
return self.__deserialize_primitive(data, klass)
|
return self.__deserialize_primitive(data, klass)
|
||||||
@@ -485,7 +493,7 @@ class ApiClient(object):
|
|||||||
try:
|
try:
|
||||||
value = klass(data)
|
value = klass(data)
|
||||||
except UnicodeEncodeError:
|
except UnicodeEncodeError:
|
||||||
value = unicode(data)
|
value = six.text_type(data)
|
||||||
except TypeError:
|
except TypeError:
|
||||||
value = data
|
value = data
|
||||||
return value
|
return value
|
||||||
|
Reference in New Issue
Block a user