summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/artstation.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/artstation.py')
-rw-r--r--gallery_dl/extractor/artstation.py18
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