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

@@ -478,7 +478,7 @@ Consider all listed sites to potentially be NSFW.
<tr>
<td>Itaku</td>
<td>https://itaku.ee/</td>
<td>Galleries, individual Images, Search Results</td>
<td>Galleries, individual Images, Search Results, Stars</td>
<td></td>
</tr>
<tr>

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)

View File

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