Skip to content

Commit 0c6714a

Browse files
authored
Merge pull request #1886 from 0xFelix/resource-field-to-dict
Add to_dict method to ResourceField
2 parents 055fa70 + 2630bfa commit 0c6714a

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

kubernetes/base/dynamic/resource.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,3 +389,15 @@ def __dir__(self):
389389
def __iter__(self):
390390
for k, v in self.__dict__.items():
391391
yield (k, v)
392+
393+
def to_dict(self):
394+
return self.__serialize(self)
395+
396+
def __serialize(self, field):
397+
if isinstance(field, ResourceField):
398+
return {
399+
k: self.__serialize(v) for k, v in field.__dict__.items()
400+
}
401+
if isinstance(field, (list, tuple)):
402+
return [self.__serialize(item) for item in field]
403+
return field

kubernetes/base/dynamic/test_client.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -563,5 +563,4 @@ def test_resource_field(self):
563563
res = ResourceField(params=params)
564564
self.assertEqual(res["foo"], params["foo"])
565565
self.assertEqual(res["self"], params["self"])
566-
# method will return original object when it doesn't know how to proceed
567-
self.assertEqual(self.client.serialize_body(res), res)
566+
self.assertEqual(self.client.serialize_body(res), params)

0 commit comments

Comments
 (0)