[sankaku] fix potential infinite loop (#7155)
https://github.com/mikf/gallery-dl/issues/7155#issuecomment-2723019761
This commit is contained in:
@@ -220,12 +220,15 @@ class SankakuAPI():
|
||||
while True:
|
||||
data = self._call(endpoint, params)
|
||||
|
||||
if tags is None:
|
||||
tags = data["data"]
|
||||
tags_new = data["data"]
|
||||
if not tags_new:
|
||||
return tags or []
|
||||
elif tags is None:
|
||||
tags = tags_new
|
||||
else:
|
||||
tags.extend(data["data"])
|
||||
tags.extend(tags_new)
|
||||
|
||||
if len(tags) >= data["total"]:
|
||||
if len(tags_new) < 80 or len(tags) >= data["total"]:
|
||||
return tags
|
||||
params["page"] += 1
|
||||
|
||||
|
||||
@@ -312,6 +312,80 @@ __tests__ = (
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
"#url" : "https://www.sankakucomplex.com/posts/26MPkn6JRKx",
|
||||
"#comment" : "each tag is tripled, wrong 'total' count in /tags API",
|
||||
"#category": ("booru", "sankaku", "post"),
|
||||
"#class" : sankaku.SankakuPostExtractor,
|
||||
"#options" : {"tags": True},
|
||||
|
||||
"id": "26MPkn6JRKx",
|
||||
"md5": "a115c0cfbad8e915f046a72973bbd47e",
|
||||
"total_tags": 39,
|
||||
"tags": [
|
||||
"tengen_toppa_gurren-lagann",
|
||||
"tengen_toppa_gurren-lagann",
|
||||
"tengen_toppa_gurren-lagann",
|
||||
"yoko_littner",
|
||||
"yoko_littner",
|
||||
"yoko_littner",
|
||||
"high_resolution",
|
||||
"high_resolution",
|
||||
"high_resolution",
|
||||
"bangs",
|
||||
"bangs",
|
||||
"bangs",
|
||||
"female",
|
||||
"female",
|
||||
"female",
|
||||
"golden_eyes",
|
||||
"golden_eyes",
|
||||
"golden_eyes",
|
||||
"long_hair",
|
||||
"long_hair",
|
||||
"long_hair",
|
||||
"ponytail",
|
||||
"ponytail",
|
||||
"ponytail",
|
||||
"red_hair",
|
||||
"red_hair",
|
||||
"red_hair",
|
||||
"solo",
|
||||
"solo",
|
||||
"solo",
|
||||
"tied_hair",
|
||||
"tied_hair",
|
||||
"tied_hair",
|
||||
"yellow_eyes",
|
||||
"yellow_eyes",
|
||||
"yellow_eyes",
|
||||
"potential_duplicate",
|
||||
"potential_duplicate",
|
||||
"potential_duplicate",
|
||||
],
|
||||
"tags_copyright": [
|
||||
"tengen_toppa_gurren-lagann",
|
||||
],
|
||||
"tags_character": [
|
||||
"yoko_littner",
|
||||
],
|
||||
"tags_general": [
|
||||
"tied_hair",
|
||||
"bangs",
|
||||
"ponytail",
|
||||
"female",
|
||||
"long_hair",
|
||||
"yellow_eyes",
|
||||
"red_hair",
|
||||
"golden_eyes",
|
||||
"solo",
|
||||
"high_resolution",
|
||||
],
|
||||
"tags_meta": [
|
||||
"potential_duplicate",
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
"#url" : "https://sankaku.app/posts/VAr2mjLJ2av",
|
||||
"#comment" : "notes (#5073)",
|
||||
|
||||
Reference in New Issue
Block a user