Support for nested dict/list

Checking for `startwith` instead of just `in` to correctly categorize
nested structures.
This commit is contained in:
Marcos Prieto 2015-08-04 11:51:38 +02:00
parent edebbcb802
commit befacc41bd

View File

@ -247,12 +247,12 @@ class ApiClient(object):
return None return None
if type(klass) == str: if type(klass) == str:
if 'list[' in klass: if klass.startswith('list['):
sub_kls = re.match('list\[(.*)\]', klass).group(1) sub_kls = re.match('list\[(.*)\]', klass).group(1)
return [self.__deserialize(sub_data, sub_kls) return [self.__deserialize(sub_data, sub_kls)
for sub_data in data] for sub_data in data]
if 'dict(' in klass: if klass.startswith('dict('):
sub_kls = re.match('dict\(([^,]*), (.*)\)', klass).group(2) sub_kls = re.match('dict\(([^,]*), (.*)\)', klass).group(2)
return {k: self.__deserialize(v, sub_kls) return {k: self.__deserialize(v, sub_kls)
for k, v in iteritems(data)} for k, v in iteritems(data)}