diff --git a/gallery_dl/extractor/gelbooru.py b/gallery_dl/extractor/gelbooru.py index b62ff78b..d9da7bc3 100644 --- a/gallery_dl/extractor/gelbooru.py +++ b/gallery_dl/extractor/gelbooru.py @@ -165,15 +165,16 @@ class GelbooruFavoriteExtractor(GelbooruBase, "id" : self.favorite_id, "limit": "1", } - count = self._api_request(params, "@attributes")[0]["count"] + count = self._api_request(params, "@attributes")[0]["count"] if count <= self.offset: return - pnum, last = divmod(count + 1, self.per_page) - if self.offset >= last: + pnum, last = divmod(count-1, self.per_page) + if self.offset > last: + # page number change self.offset -= last - diff, self.offset = divmod(self.offset, self.per_page) + diff, self.offset = divmod(self.offset-1, self.per_page) pnum -= diff + 1 skip = self.offset @@ -183,8 +184,8 @@ class GelbooruFavoriteExtractor(GelbooruBase, while True: favs = self._api_request(params, "favorite") - favs.reverse() + if skip: favs = favs[skip:] skip = 0