diff --git a/docs/configuration.rst b/docs/configuration.rst index acb95b36..f0ae4d98 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -885,6 +885,16 @@ Description Try to follow external URLs of embedded players. +extractor.artstation.max-posts +------------------------------ +Type + ``integer`` +Default + ``null`` +Description + Limit the number of posts/projects to download. + + extractor.artstation.search.pro-first ------------------------------------- Type diff --git a/gallery_dl/extractor/artstation.py b/gallery_dl/extractor/artstation.py index d59b1663..a3a7c1e1 100644 --- a/gallery_dl/extractor/artstation.py +++ b/gallery_dl/extractor/artstation.py @@ -10,6 +10,7 @@ from .common import Extractor, Message from .. import text, util, exception +import itertools import random import string @@ -31,7 +32,12 @@ class ArtstationExtractor(Extractor): def items(self): data = self.metadata() - for project in self.projects(): + projects = self.projects() + max_posts = self.config("max-posts") + if max_posts: + projects = itertools.islice(projects, max_posts) + + for project in projects: for num, asset in enumerate( self.get_project_assets(project["hash_id"]), 1): asset.update(data)