diff options
| author | 2025-03-15 18:05:15 -0400 | |
|---|---|---|
| committer | 2025-03-15 18:05:15 -0400 | |
| commit | 8026a3c45446030d7af524bfc487d3462c8114ef (patch) | |
| tree | 0818c682a06f620c08a8b6b4c07f4935bd79493a /gallery_dl/text.py | |
| parent | 243d1f1beb4e4eb75a524f1aff948c47761a4f1d (diff) | |
New upstream version 1.29.2.upstream/1.29.2
Diffstat (limited to 'gallery_dl/text.py')
| -rw-r--r-- | gallery_dl/text.py | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/gallery_dl/text.py b/gallery_dl/text.py index f117c92..c1dde94 100644 --- a/gallery_dl/text.py +++ b/gallery_dl/text.py @@ -258,10 +258,10 @@ def parse_query(qs): return result -def parse_query_list(qs): +def parse_query_list(qs, as_list=()): """Parse a query string into name-value pairs - Combine values of duplicate names into lists + Combine values of names in 'as_list' into lists """ if not qs: return {} @@ -273,14 +273,13 @@ def parse_query_list(qs): if eq: name = unquote(name.replace("+", " ")) value = unquote(value.replace("+", " ")) - if name in result: - rvalue = result[name] - if isinstance(rvalue, list): - rvalue.append(value) + if name in as_list: + if name in result: + result[name].append(value) else: - result[name] = [rvalue, value] - else: - result[name] = value + result[name] = [value] + elif name not in result: + result[name] = unquote(value.replace("+", " ")) except Exception: pass return result |
