diff options
Diffstat (limited to 'gallery_dl/extractor/artstation.py')
| -rw-r--r-- | gallery_dl/extractor/artstation.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gallery_dl/extractor/artstation.py b/gallery_dl/extractor/artstation.py index 64a4bf4..985ad48 100644 --- a/gallery_dl/extractor/artstation.py +++ b/gallery_dl/extractor/artstation.py @@ -380,3 +380,21 @@ class ArtstationImageExtractor(ArtstationExtractor): def get_project_assets(self, project_id): return self.assets + + +class ArtstationFollowingExtractor(ArtstationExtractor): + """Extractor for a user's followed users""" + subcategory = "following" + pattern = (r"(?:https?://)?(?:www\.)?artstation\.com" + r"/(?!artwork|projects|search)([^/?&#]+)/following") + test = ("https://www.artstation.com/gaerikim/following", { + "pattern": ArtstationUserExtractor.pattern, + "count": ">= 50", + }) + + def items(self): + url = "{}/users/{}/following.json".format(self.root, self.user) + for user in self._pagination(url): + url = "{}/{}".format(self.root, user["username"]) + user["_extractor"] = ArtstationUserExtractor + yield Message.Queue, url, user |
