def new_api_object(client, obj, cls=None, **kwargs):
if isinstance(obj, dict):
if not cls:
resource = obj.get('resource', None)
cls = _resource_to_model.get(resource, None)
if not cls:
obj_keys = set(six.iterkeys(obj))
for keys, model in six.iteritems(_obj_keys_to_model):
if keys <= obj_keys:
cls = model
break
cls = cls or APIObject
result = cls(client, **kwargs)
for k, v in six.iteritems(obj):
result[k] = new_api_object(client, v)
return result
if isinstance(obj, list):
return [new_api_object(client, v, cls) for v in obj]
return obj
评论列表
文章目录