fix dump_qs for dicts nested inside lists
This commit is contained in:
parent
3331142797
commit
3760b63d44
|
@ -37,9 +37,10 @@ def dump_qs(obj):
|
||||||
if isinstance(old_qs_element[1][subkey], (dict, list)):
|
if isinstance(old_qs_element[1][subkey], (dict, list)):
|
||||||
not_flat = True
|
not_flat = True
|
||||||
elif isinstance(old_qs_element[1], (list)):
|
elif isinstance(old_qs_element[1], (list)):
|
||||||
for element in old_qs_element[1]:
|
for index in range(len(old_qs_element[1])):
|
||||||
|
element = old_qs_element[1][index]
|
||||||
qs.append(
|
qs.append(
|
||||||
(old_qs_element[0] + "[]", element))
|
(old_qs_element[0] + "[" + str(index) + "]", element))
|
||||||
if isinstance(element, (dict, list)):
|
if isinstance(element, (dict, list)):
|
||||||
not_flat = True
|
not_flat = True
|
||||||
if not_flat:
|
if not_flat:
|
||||||
|
|
|
@ -3,15 +3,17 @@ from hashlib import sha512
|
||||||
|
|
||||||
|
|
||||||
def test_dump():
|
def test_dump():
|
||||||
result = dump_qs({
|
obj = {
|
||||||
"key": "value",
|
"key": "value",
|
||||||
"three": 3,
|
"three": 3,
|
||||||
"two_and_half": 2.5,
|
"two_and_half": 2.5,
|
||||||
"ziobro": [
|
"ziobro": [
|
||||||
{"kurwo": "jebana"},
|
{"kurwo": "jebana"},
|
||||||
{"przestań mi": ["kurwa", "rodzinę prześladować"]}],
|
{"przestań mi": ["kurwa", "rodzinę prześladować"]}],
|
||||||
})
|
}
|
||||||
|
result = dump_qs(obj)
|
||||||
|
assert isinstance(result, str)
|
||||||
assert sha512(result.encode("utf-8")).hexdigest(
|
assert sha512(result.encode("utf-8")).hexdigest(
|
||||||
# flake8: noqa: E501
|
# flake8: noqa: E501
|
||||||
) == '0d0d0598ea18ed0b28b1b4210ac06b742a1cf9a25cb5292db57b9c0cdbcb73bc65d19fa2b7df30dc8281796e3865412760776339a253c10b3025f4b32b187476'
|
) == "80cb0feb585e8a5969598797b74c6f7f2f314ee97dfd2d6f4aaf431b800f6c7a1dfe77efd550a1009d41ef2886b21b87ce1d9e4f11444af554a916987344aee1"
|
||||||
pass
|
pass
|
||||||
|
|
Loading…
Reference in a new issue