Merge pull request #1886 from 0xFelix/resource-field-to-dict
Add to_dict method to ResourceField
This commit is contained in:
commit
0c6714abef
@ -389,3 +389,15 @@ class ResourceField(object):
|
||||
def __iter__(self):
|
||||
for k, v in self.__dict__.items():
|
||||
yield (k, v)
|
||||
|
||||
def to_dict(self):
|
||||
return self.__serialize(self)
|
||||
|
||||
def __serialize(self, field):
|
||||
if isinstance(field, ResourceField):
|
||||
return {
|
||||
k: self.__serialize(v) for k, v in field.__dict__.items()
|
||||
}
|
||||
if isinstance(field, (list, tuple)):
|
||||
return [self.__serialize(item) for item in field]
|
||||
return field
|
||||
|
||||
@ -563,5 +563,4 @@ class TestDynamicClientSerialization(unittest.TestCase):
|
||||
res = ResourceField(params=params)
|
||||
self.assertEqual(res["foo"], params["foo"])
|
||||
self.assertEqual(res["self"], params["self"])
|
||||
# method will return original object when it doesn't know how to proceed
|
||||
self.assertEqual(self.client.serialize_body(res), res)
|
||||
self.assertEqual(self.client.serialize_body(res), params)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user