summaryrefslogtreecommitdiffstats
path: root/gallery_dl/text.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2025-03-15 18:05:15 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2025-03-15 18:05:15 -0400
commit8026a3c45446030d7af524bfc487d3462c8114ef (patch)
tree0818c682a06f620c08a8b6b4c07f4935bd79493a /gallery_dl/text.py
parent243d1f1beb4e4eb75a524f1aff948c47761a4f1d (diff)
New upstream version 1.29.2.upstream/1.29.2
Diffstat (limited to 'gallery_dl/text.py')
-rw-r--r--gallery_dl/text.py17
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