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"),