dump_qs: don't add None values to qs when nested in dict/list

netiawifi
selfisekai 2020-09-18 18:49:05 +02:00
parent 868cf77b89
commit aa8d465d49
1 changed files with 10 additions and 8 deletions

View File

@ -112,17 +112,19 @@ def dump_qs(obj):
qs.append((old_qs_element[0], old_qs_element[1]))
elif isinstance(old_qs_element[1], (dict)):
for subkey in old_qs_element[1]:
qs.append(
(old_qs_element[0] + "[" + subkey + "]", old_qs_element[1][subkey]))
if isinstance(old_qs_element[1][subkey], (dict, list)):
not_flat = True
if old_qs_element[1][subkey] is not None:
qs.append(
(old_qs_element[0] + "[" + subkey + "]", old_qs_element[1][subkey]))
if isinstance(old_qs_element[1][subkey], (dict, list)):
not_flat = True
elif isinstance(old_qs_element[1], (list)):
for index in range(len(old_qs_element[1])):
element = old_qs_element[1][index]
qs.append(
(old_qs_element[0] + "[" + str(index) + "]", element))
if isinstance(element, (dict, list)):
not_flat = True
if element is not None:
qs.append(
(old_qs_element[0] + "[" + str(index) + "]", element))
if isinstance(element, (dict, list)):
not_flat = True
if not_flat:
old_qs = qs
qs = []