diff options
| author | 2026-01-06 04:24:52 -0500 | |
|---|---|---|
| committer | 2026-01-06 04:24:52 -0500 | |
| commit | 385e4bfb1e426d23417ac788a6f44d639e226c89 (patch) | |
| tree | e64f04e19d63014d48e3b5272ce112c637236ba7 /gallery_dl/extractor/itaku.py | |
| parent | a24ec1647aeac35a63b744ea856011ad6e06be3b (diff) | |
New upstream version 1.31.2.upstream/1.31.2upstream
Diffstat (limited to 'gallery_dl/extractor/itaku.py')
| -rw-r--r-- | gallery_dl/extractor/itaku.py | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/gallery_dl/extractor/itaku.py b/gallery_dl/extractor/itaku.py index 566ee8b..5e0afb3 100644 --- a/gallery_dl/extractor/itaku.py +++ b/gallery_dl/extractor/itaku.py @@ -13,7 +13,7 @@ from ..cache import memcache from .. import text, util BASE_PATTERN = r"(?:https?://)?itaku\.ee" -USER_PATTERN = rf"{BASE_PATTERN}/profile/([^/?#]+)" +USER_PATTERN = BASE_PATTERN + r"/profile/([^/?#]+)" class ItakuExtractor(Extractor): @@ -34,7 +34,7 @@ class ItakuExtractor(Extractor): for image in images: image["date"] = self.parse_datetime_iso(image["date_added"]) for category, tags in image.pop("categorized_tags").items(): - image[f"tags_{category.lower()}"] = [ + image["tags_" + category.lower()] = [ t["name"] for t in tags] image["tags"] = [t["name"] for t in image["tags"]] @@ -73,9 +73,9 @@ class ItakuExtractor(Extractor): return if users := self.users(): - base = f"{self.root}/profile/" + base = self.root + "/profile/" for user in users: - url = f"{base}{user['owner_username']}" + url = base + user["owner_username"] user["_extractor"] = ItakuUserExtractor yield Message.Queue, url, user return @@ -86,7 +86,7 @@ class ItakuExtractor(Extractor): class ItakuGalleryExtractor(ItakuExtractor): """Extractor for an itaku user's gallery""" subcategory = "gallery" - pattern = rf"{USER_PATTERN}/gallery(?:/(\d+))?" + pattern = USER_PATTERN + r"/gallery(?:/(\d+))?" example = "https://itaku.ee/profile/USER/gallery" def images(self): @@ -104,7 +104,7 @@ class ItakuPostsExtractor(ItakuExtractor): "{id}{title:? //}") filename_fmt = "{file[id]}{file[title]:? //}.{extension}" archive_fmt = "{id}_{file[id]}" - pattern = rf"{USER_PATTERN}/posts(?:/(\d+))?" + pattern = USER_PATTERN + r"/posts(?:/(\d+))?" example = "https://itaku.ee/profile/USER/posts" def posts(self): @@ -118,7 +118,7 @@ class ItakuPostsExtractor(ItakuExtractor): class ItakuStarsExtractor(ItakuExtractor): """Extractor for an itaku user's starred images""" subcategory = "stars" - pattern = rf"{USER_PATTERN}/stars(?:/(\d+))?" + pattern = USER_PATTERN + r"/stars(?:/(\d+))?" example = "https://itaku.ee/profile/USER/stars" def images(self): @@ -132,7 +132,7 @@ class ItakuStarsExtractor(ItakuExtractor): class ItakuFollowingExtractor(ItakuExtractor): subcategory = "following" - pattern = rf"{USER_PATTERN}/following" + pattern = USER_PATTERN + r"/following" example = "https://itaku.ee/profile/USER/following" def users(self): @@ -143,7 +143,7 @@ class ItakuFollowingExtractor(ItakuExtractor): class ItakuFollowersExtractor(ItakuExtractor): subcategory = "followers" - pattern = rf"{USER_PATTERN}/followers" + pattern = USER_PATTERN + r"/followers" example = "https://itaku.ee/profile/USER/followers" def users(self): @@ -155,7 +155,7 @@ class ItakuFollowersExtractor(ItakuExtractor): class ItakuBookmarksExtractor(ItakuExtractor): """Extractor for an itaku bookmarks folder""" subcategory = "bookmarks" - pattern = rf"{USER_PATTERN}/bookmarks/(image|user)/(\d+)" + pattern = USER_PATTERN + r"/bookmarks/(image|user)/(\d+)" example = "https://itaku.ee/profile/USER/bookmarks/image/12345" def _init(self): @@ -176,23 +176,23 @@ class ItakuBookmarksExtractor(ItakuExtractor): class ItakuUserExtractor(Dispatch, ItakuExtractor): """Extractor for itaku user profiles""" - pattern = rf"{USER_PATTERN}/?(?:$|\?|#)" + pattern = USER_PATTERN + r"/?(?:$|\?|#)" example = "https://itaku.ee/profile/USER" def items(self): base = f"{self.root}/profile/{self.groups[0]}/" return self._dispatch_extractors(( - (ItakuGalleryExtractor , f"{base}gallery"), - (ItakuPostsExtractor , f"{base}posts"), - (ItakuFollowersExtractor, f"{base}followers"), - (ItakuFollowingExtractor, f"{base}following"), - (ItakuStarsExtractor , f"{base}stars"), + (ItakuGalleryExtractor , base + "gallery"), + (ItakuPostsExtractor , base + "posts"), + (ItakuFollowersExtractor, base + "followers"), + (ItakuFollowingExtractor, base + "following"), + (ItakuStarsExtractor , base + "stars"), ), ("gallery",)) class ItakuImageExtractor(ItakuExtractor): subcategory = "image" - pattern = rf"{BASE_PATTERN}/images/(\d+)" + pattern = BASE_PATTERN + r"/images/(\d+)" example = "https://itaku.ee/images/12345" def images(self): @@ -205,7 +205,7 @@ class ItakuPostExtractor(ItakuExtractor): "{id}{title:? //}") filename_fmt = "{file[id]}{file[title]:? //}.{extension}" archive_fmt = "{id}_{file[id]}" - pattern = rf"{BASE_PATTERN}/posts/(\d+)" + pattern = BASE_PATTERN + r"/posts/(\d+)" example = "https://itaku.ee/posts/12345" def posts(self): @@ -214,7 +214,7 @@ class ItakuPostExtractor(ItakuExtractor): class ItakuSearchExtractor(ItakuExtractor): subcategory = "search" - pattern = rf"{BASE_PATTERN}/home/images/?\?([^#]+)" + pattern = BASE_PATTERN + r"/home/images/?\?([^#]+)" example = "https://itaku.ee/home/images?tags=SEARCH" def images(self): @@ -246,7 +246,7 @@ class ItakuAPI(): def __init__(self, extractor): self.extractor = extractor - self.root = f"{extractor.root}/api" + self.root = extractor.root + "/api" self.headers = { "Accept": "application/json, text/plain, */*", } @@ -309,7 +309,7 @@ class ItakuAPI(): def _call(self, endpoint, params=None): if not endpoint.startswith("http"): - endpoint = f"{self.root}{endpoint}" + endpoint = self.root + endpoint return self.extractor.request_json( endpoint, params=params, headers=self.headers) |
