[text] add second argument to 'parse_query_list()' (#7138)

return only values whose name is in 'as_list' as a list
This commit is contained in:
Mike Fährmann
2025-03-10 09:36:50 +01:00
parent a859abf6a1
commit 04464b6cf0
5 changed files with 19 additions and 28 deletions

View File

@@ -372,7 +372,8 @@ class CivitaiUserImagesExtractor(CivitaiExtractor):
example = "https://civitai.com/user/USER/images"
def __init__(self, match):
self.params = text.parse_query_list(match.group(2))
self.params = text.parse_query_list(
match.group(2), {"reactions"})
if self.params.get("section") == "reactions":
self.subcategory = "reactions"
self.images = self.images_reactions
@@ -392,12 +393,8 @@ class CivitaiUserImagesExtractor(CivitaiExtractor):
params = self.params
params["authed"] = True
params["useIndex"] = False
if "reactions" in params:
if isinstance(params["reactions"], str):
params["reactions"] = (params["reactions"],)
else:
params["reactions"] = (
"Like", "Dislike", "Heart", "Laugh", "Cry")
if "reactions" not in params:
params["reactions"] = ("Like", "Dislike", "Heart", "Laugh", "Cry")
return self.api.images(params)

View File

@@ -80,7 +80,8 @@ class ItakuSearchExtractor(ItakuExtractor):
example = "https://itaku.ee/home/images?tags=SEARCH"
def posts(self):
params = text.parse_query_list(self.groups[0])
params = text.parse_query_list(
self.groups[0], {"tags", "maturity_rating"})
return self.api.search_images(params)
@@ -99,13 +100,7 @@ class ItakuAPI():
negative_tags = []
optional_tags = []
tags = params.pop("tags", None)
if not tags:
tags = ()
elif isinstance(tags, str):
tags = (tags,)
for tag in tags:
for tag in params.pop("tags", None) or ():
if not tag:
pass
elif tag[0] == "-":