diff --git a/docs/supportedsites.md b/docs/supportedsites.md index 95dd34ec..ce24f357 100644 --- a/docs/supportedsites.md +++ b/docs/supportedsites.md @@ -478,7 +478,7 @@ Consider all listed sites to potentially be NSFW. Itaku https://itaku.ee/ - Galleries, individual Images, Search Results + Galleries, individual Images, Search Results, Stars diff --git a/gallery_dl/extractor/itaku.py b/gallery_dl/extractor/itaku.py index caa4e40b..e602665b 100644 --- a/gallery_dl/extractor/itaku.py +++ b/gallery_dl/extractor/itaku.py @@ -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+)" @@ -85,15 +94,6 @@ 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): @@ -148,11 +148,11 @@ class ItakuAPI(): } return self._pagination(endpoint, params, self.image) - def stars_images(self, username: str, section: str = None): + def galleries_images_starred(self, username, section=None): endpoint = "/galleries/images/user_starred_imgs/" params = { "cursor" : None, - "stars_of": self.user(username)["owner"], + "stars_of" : self.user(username)["owner"], "sections" : section, "date_range": "", "ordering" : "-date_added", diff --git a/test/results/itaku.py b/test/results/itaku.py index 004559c7..20c5fd33 100644 --- a/test/results/itaku.py +++ b/test/results/itaku.py @@ -30,6 +30,15 @@ __tests__ = ( "sections" : ["Fanart/Pokemon"], }, +{ + "#url" : "https://itaku.ee/profile/piku/stars", + "#category": ("", "itaku", "stars"), + "#class" : itaku.ItakuStarsExtractor, + "#pattern" : r"https://itaku\.ee/api/media/gallery_imgs/[^/?#]+\.(jpg|png|gif)", + "#range" : "1-10", + "#count" : 10, +}, + { "#url" : "https://itaku.ee/images/100471", "#category": ("", "itaku", "image"),