From 6bbedda08b886f7a4d1e18b608fe265dfcbed908 Mon Sep 17 00:00:00 2001 From: Deer-Spangle Date: Thu, 24 Apr 2025 09:59:32 +0100 Subject: [PATCH] [itaku] Add a new extractor for Itaku stars --- gallery_dl/extractor/itaku.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gallery_dl/extractor/itaku.py b/gallery_dl/extractor/itaku.py index 2974b597..caa4e40b 100644 --- a/gallery_dl/extractor/itaku.py +++ b/gallery_dl/extractor/itaku.py @@ -85,6 +85,15 @@ class ItakuSearchExtractor(ItakuExtractor): return self.api.search_images(params) +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.stars_images(*self.groups) + + class ItakuAPI(): def __init__(self, extractor): @@ -139,6 +148,21 @@ class ItakuAPI(): } return self._pagination(endpoint, params, self.image) + def stars_images(self, username: str, section: str = 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)