Skip to content
Snippets Groups Projects
Commit 892030da authored by David Trattnig's avatar David Trattnig
Browse files

Codegen: Update `util.py` to new version

parent 58ce3bdf
No related branches found
No related tags found
No related merge requests found
...@@ -16,7 +16,7 @@ def _deserialize(data, klass): ...@@ -16,7 +16,7 @@ def _deserialize(data, klass):
if data is None: if data is None:
return None return None
if klass in six.integer_types or klass in (float, str, bool, bytearray): if klass in six.integer_types or klass in (float, str, bool):
return _deserialize_primitive(data, klass) return _deserialize_primitive(data, klass)
elif klass == object: elif klass == object:
return _deserialize_object(data) return _deserialize_object(data)
...@@ -24,15 +24,30 @@ def _deserialize(data, klass): ...@@ -24,15 +24,30 @@ def _deserialize(data, klass):
return deserialize_date(data) return deserialize_date(data)
elif klass == datetime.datetime: elif klass == datetime.datetime:
return deserialize_datetime(data) return deserialize_datetime(data)
elif type_util.is_generic(klass):
if type_util.is_list(klass): # NOTE: Due to Python 3.7 not providing `typing.GenericMeta` anymore,
# this workaround is needed (See https://github.com/swagger-api/swagger-codegen/issues/8921)
# As soon this has been fixed in SwaggerHub Codegen this class can
# be replaced by the generated one again.
#
elif hasattr(klass, '__origin__'):
if klass.__origin__ == list:
return _deserialize_list(data, klass.__args__[0]) return _deserialize_list(data, klass.__args__[0])
if type_util.is_dict(klass): if klass.__origin__ == dict:
return _deserialize_dict(data, klass.__args__[1]) return _deserialize_dict(data, klass.__args__[1])
# Original generated fragment by Codegen (pre Python 3.7 compatible only):
#
# elif type(klass) == typing.GenericMeta:
# if klass.__extra__ == list:
# return _deserialize_list(data, klass.__args__[0])
# if klass.__extra__ == dict:
# return _deserialize_dict(data, klass.__args__[1])
else: else:
return deserialize_model(data, klass) return deserialize_model(data, klass)
def _deserialize_primitive(data, klass): def _deserialize_primitive(data, klass):
"""Deserializes to primitive type. """Deserializes to primitive type.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment