From 79fd3445eed158c79e0176f02338880e825e2ff7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Thu, 28 Nov 2024 19:34:55 +0100 Subject: [PATCH] [pixiv:ranking] add 'rank' metadata field (#6531) --- gallery_dl/extractor/pixiv.py | 11 ++++++++--- test/results/pixiv.py | 7 +++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/gallery_dl/extractor/pixiv.py b/gallery_dl/extractor/pixiv.py index 76bb08dd..8ad061d4 100644 --- a/gallery_dl/extractor/pixiv.py +++ b/gallery_dl/extractor/pixiv.py @@ -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): diff --git a/test/results/pixiv.py b/test/results/pixiv.py index d3f5bde4..c4ebc94f 100644 --- a/test/results/pixiv.py +++ b/test/results/pixiv.py @@ -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), + }, }, {