[gelbooru] fix 'favorite' extractor (#4903)

lots of +1/-1 and </<= mistakes
This commit is contained in:
Mike Fährmann
2024-01-04 15:05:33 +01:00
parent 7eaf648f2e
commit a86775f617

View File

@@ -165,15 +165,16 @@ class GelbooruFavoriteExtractor(GelbooruBase,
"id" : self.favorite_id, "id" : self.favorite_id,
"limit": "1", "limit": "1",
} }
count = self._api_request(params, "@attributes")[0]["count"]
count = self._api_request(params, "@attributes")[0]["count"]
if count <= self.offset: if count <= self.offset:
return 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 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 pnum -= diff + 1
skip = self.offset skip = self.offset
@@ -183,8 +184,8 @@ class GelbooruFavoriteExtractor(GelbooruBase,
while True: while True:
favs = self._api_request(params, "favorite") favs = self._api_request(params, "favorite")
favs.reverse() favs.reverse()
if skip: if skip:
favs = favs[skip:] favs = favs[skip:]
skip = 0 skip = 0