fix dump_qs for dicts nested inside lists

netiawifi
selfisekai 2020-09-05 22:56:38 +02:00
parent 3331142797
commit 3760b63d44
2 changed files with 8 additions and 5 deletions

View File

@ -37,9 +37,10 @@ def dump_qs(obj):
if isinstance(old_qs_element[1][subkey], (dict, list)):
not_flat = True
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(
(old_qs_element[0] + "[]", element))
(old_qs_element[0] + "[" + str(index) + "]", element))
if isinstance(element, (dict, list)):
not_flat = True
if not_flat:

View File

@ -3,15 +3,17 @@ from hashlib import sha512
def test_dump():
result = dump_qs({
obj = {
"key": "value",
"three": 3,
"two_and_half": 2.5,
"ziobro": [
{"kurwo": "jebana"},
{"przestań mi": ["kurwa", "rodzinę prześladować"]}],
})
}
result = dump_qs(obj)
assert isinstance(result, str)
assert sha512(result.encode("utf-8")).hexdigest(
# flake8: noqa: E501
) == '0d0d0598ea18ed0b28b1b4210ac06b742a1cf9a25cb5292db57b9c0cdbcb73bc65d19fa2b7df30dc8281796e3865412760776339a253c10b3025f4b32b187476'
) == "80cb0feb585e8a5969598797b74c6f7f2f314ee97dfd2d6f4aaf431b800f6c7a1dfe77efd550a1009d41ef2886b21b87ce1d9e4f11444af554a916987344aee1"
pass