aboutsummaryrefslogtreecommitdiffstats
path: root/gallery_dl/text.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2025-03-15 18:05:22 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2025-03-15 18:05:22 -0400
commit4d0259149eb03b21716dbde6174f36d65c57c66c (patch)
tree1e314b7849c4be1683809426d563a69a8131c13d /gallery_dl/text.py
parentd178d764c9cc19aef1a5cf012e3ca4c3b957879f (diff)
parent8026a3c45446030d7af524bfc487d3462c8114ef (diff)
Update upstream source from tag 'upstream/1.29.2'
Update to upstream version '1.29.2' with Debian dir a3b673d57d2a397548e1a0eb8d7a7401e09e1234
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