Fix for issue #19 (get_all_keys fails if dict are part of list)

This commit is contained in:
Ramesh_RV 2019-05-13 12:37:43 +05:30 committed by Russell Ballestrini
parent 4f37d265c8
commit fdce9e685a
2 changed files with 29 additions and 13 deletions

View file

@ -54,21 +54,17 @@ def get_all_keys(dictionary):
"""
result_list = []
def recrusion(dictionary):
for key, value in iteritems(dictionary):
if isinstance(value, dict):
result_list.append(key)
recrusion(dictionary=value)
elif isinstance(value, list):
result_list.append(key)
for list_items in value:
# Make sure the items inside the list is iterable
if hasattr(list_items, 'items'):
recrusion(dictionary=list_items)
else:
def recrusion(document):
if isinstance(document, list):
for list_items in document:
recrusion(document=list_items)
elif isinstance(document, dict):
for key, value in iteritems(document):
result_list.append(key)
recrusion(document=value)
return
recrusion(dictionary=dictionary)
recrusion(document=dictionary)
return result_list