From 174191cb79f1d22c095d499c7fadbf7ff0587da0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Thu, 19 Oct 2023 21:57:27 +0200 Subject: [PATCH] [kemonoparty] restore discord pagination (#4676) --- gallery_dl/extractor/kemonoparty.py | 11 +++++++++-- test/results/kemonoparty.py | 12 ++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/gallery_dl/extractor/kemonoparty.py b/gallery_dl/extractor/kemonoparty.py index 21160c6a..be51b36a 100644 --- a/gallery_dl/extractor/kemonoparty.py +++ b/gallery_dl/extractor/kemonoparty.py @@ -344,8 +344,15 @@ class KemonopartyDiscordExtractor(KemonopartyExtractor): def posts(self): url = "{}/api/v1/discord/channel/{}".format( self.root, self.channel_id) - params = {"skip": 0} - return self.request(url, params=params).json() + params = {"o": 0} + + while True: + posts = self.request(url, params=params).json() + yield from posts + + if len(posts) < 150: + break + params["o"] += 150 class KemonopartyDiscordServerExtractor(KemonopartyExtractor): diff --git a/test/results/kemonoparty.py b/test/results/kemonoparty.py index 83806930..61a3fc89 100644 --- a/test/results/kemonoparty.py +++ b/test/results/kemonoparty.py @@ -185,6 +185,18 @@ __tests__ = ( "date" : "type:datetime", }, +{ + "#url" : "https://kemono.party/discord/server/818188637329031199#818343747275456522", + "#comment" : "pagination", + "#category": ("", "kemonoparty", "discord"), + "#class" : kemonoparty.KemonopartyDiscordExtractor, + "#range" : "1-250", + "#count" : 250, + + "channel" : "818343747275456522", + "channel_name": "wraith-sfw-gallery", +}, + { "#url" : "https://kemono.su/discord/server/256559665620451329/channel/462437519519383555#", "#category": ("", "kemonoparty", "discord"),