Merge "Modify flatten method to display an empty dict"
This commit is contained in:
@@ -340,7 +340,8 @@ class FlattenTestCase(test_utils.TestCase):
|
|||||||
'b4': {'c1': ['l', 'l', ['l']],
|
'b4': {'c1': ['l', 'l', ['l']],
|
||||||
'c2': 'string'}},
|
'c2': 'string'}},
|
||||||
'a2': ['l'],
|
'a2': ['l'],
|
||||||
'a3': ('t',)})
|
'a3': ('t',),
|
||||||
|
'a4': {}})
|
||||||
|
|
||||||
self.assertEqual({'a1_b1': 1234,
|
self.assertEqual({'a1_b1': 1234,
|
||||||
'a1_b2': 'string',
|
'a1_b2': 'string',
|
||||||
@@ -348,7 +349,8 @@ class FlattenTestCase(test_utils.TestCase):
|
|||||||
'a1_b4_c1': ['l', 'l', ['l']],
|
'a1_b4_c1': ['l', 'l', ['l']],
|
||||||
'a1_b4_c2': 'string',
|
'a1_b4_c2': 'string',
|
||||||
'a2': ['l'],
|
'a2': ['l'],
|
||||||
'a3': ('t',)},
|
'a3': ('t',),
|
||||||
|
'a4': {}},
|
||||||
squashed)
|
squashed)
|
||||||
|
|
||||||
def test_pretty_choice_dict(self):
|
def test_pretty_choice_dict(self):
|
||||||
|
@@ -210,7 +210,7 @@ def _flatten(data, prefix=None):
|
|||||||
if isinstance(data, dict):
|
if isinstance(data, dict):
|
||||||
for key, value in six.iteritems(data):
|
for key, value in six.iteritems(data):
|
||||||
new_key = '%s_%s' % (prefix, key) if prefix else key
|
new_key = '%s_%s' % (prefix, key) if prefix else key
|
||||||
if isinstance(value, (dict, list)):
|
if isinstance(value, (dict, list)) and value:
|
||||||
for item in _flatten(value, new_key):
|
for item in _flatten(value, new_key):
|
||||||
yield item
|
yield item
|
||||||
else:
|
else:
|
||||||
|
Reference in New Issue
Block a user