merge #7411: [itaku] add 'stars' extractor

This commit is contained in:
Mike Fährmann
2025-04-24 19:48:09 +02:00
3 changed files with 34 additions and 1 deletions

View File

@@ -65,6 +65,15 @@ class ItakuGalleryExtractor(ItakuExtractor):
return self.api.galleries_images(*self.groups)
class ItakuStarsExtractor(ItakuExtractor):
subcategory = "stars"
pattern = BASE_PATTERN + r"/profile/([^/?#]+)/stars(?:/(\d+))?"
example = "https://itaku.ee/profile/USER/stars"
def posts(self):
return self.api.galleries_images_starred(*self.groups)
class ItakuImageExtractor(ItakuExtractor):
subcategory = "image"
pattern = BASE_PATTERN + r"/images/(\d+)"
@@ -139,6 +148,21 @@ class ItakuAPI():
}
return self._pagination(endpoint, params, self.image)
def galleries_images_starred(self, username, section=None):
endpoint = "/galleries/images/user_starred_imgs/"
params = {
"cursor" : None,
"stars_of" : self.user(username)["owner"],
"sections" : section,
"date_range": "",
"ordering" : "-date_added",
"maturity_rating": ("SFW", "Questionable", "NSFW"),
"page" : "1",
"page_size" : "30",
"visibility": ("PUBLIC", "PROFILE_ONLY"),
}
return self._pagination(endpoint, params, self.image)
def image(self, image_id):
endpoint = "/galleries/images/{}/".format(image_id)
return self._call(endpoint)