[pixiv:ranking] add 'rank' metadata field (#6531)

This commit is contained in:
Mike Fährmann
2024-11-28 19:34:55 +01:00
parent 9e7d7a3bb3
commit 79fd3445ee
2 changed files with 15 additions and 3 deletions

View File

@@ -606,7 +606,10 @@ class PixivRankingExtractor(PixivExtractor):
self.mode = self.date = None
def works(self):
return self.api.illust_ranking(self.mode, self.date)
ranking = self.ranking
for ranking["rank"], work in enumerate(
self.api.illust_ranking(self.mode, self.date), 1):
yield work
def metadata(self):
query = text.parse_query(self.query)
@@ -645,10 +648,12 @@ class PixivRankingExtractor(PixivExtractor):
date = (now - timedelta(days=1)).strftime("%Y-%m-%d")
self.date = date
return {"ranking": {
self.ranking = ranking = {
"mode": mode,
"date": self.date,
}}
"rank": 0,
}
return {"ranking": ranking}
class PixivSearchExtractor(PixivExtractor):

View File

@@ -445,6 +445,13 @@ __tests__ = (
"#url" : "https://www.pixiv.net/ranking.php",
"#category": ("", "pixiv", "ranking"),
"#class" : pixiv.PixivRankingExtractor,
"#options" : {"max-posts": 10},
"ranking": {
"date": r"re:\d\d\d\d-\d\d-\d\d",
"mode": "day",
"rank": range(1, 10),
},
},
{