Skip to content

Commit 6df334c

Browse files
authored
Added clean_dict function
1 parent dd348de commit 6df334c

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

route4me/utils.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,30 @@ def json2obj(data):
2626
:return: object
2727
"""
2828
return json.loads(data, object_hook=_json_object_hook)
29+
30+
31+
def clean_dict(data):
32+
"""
33+
Clean dictionary values
34+
:param data: input dictionary
35+
:return: cleaned dictionary
36+
"""
37+
if isinstance(data, list):
38+
cleaned_list = []
39+
for i in data:
40+
cleaned_item = clean_dict(i)
41+
# Append non-None items
42+
if cleaned_item not in [None, ""]:
43+
cleaned_list.append(cleaned_item)
44+
return cleaned_list if cleaned_list else None
45+
elif isinstance(data, dict):
46+
cleaned_dict = {}
47+
for k, v in data.items():
48+
cleaned_v = clean_dict(v)
49+
# Append non-None key-value pairs
50+
if cleaned_v not in [None, ""]:
51+
cleaned_dict[k] = cleaned_v
52+
return cleaned_dict if cleaned_dict else None
53+
else:
54+
# For non-container type, return as is
55+
return data

0 commit comments

Comments
 (0)