Fix for issue #19 (get_all_keys fails if dict are part of list)
This commit is contained in:
parent
4f37d265c8
commit
fdce9e685a
2 changed files with 29 additions and 13 deletions
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue