From 6e23c0da093d8dfe8831a5c59a790857de51bc51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Mon, 2 Dec 2019 22:34:34 +0100 Subject: [PATCH] [imgur] add extractor for subreddit links (closes #500) --- gallery_dl/extractor/imgur.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gallery_dl/extractor/imgur.py b/gallery_dl/extractor/imgur.py index 5ae6c5a0..ce3e1ce6 100644 --- a/gallery_dl/extractor/imgur.py +++ b/gallery_dl/extractor/imgur.py @@ -280,6 +280,20 @@ class ImgurFavoriteExtractor(ImgurExtractor): return self._items_queue(self.api.account_favorites(self.key)) +class ImgurSubredditExtractor(ImgurExtractor): + """Extractor for a subreddits's imgur links""" + subcategory = "subreddit" + pattern = BASE_PATTERN + r"/r/([^/?&#]+)" + test = ("https://imgur.com/r/pics", { + "range": "1-100", + "count": 100, + "pattern": r"https?://(i.imgur.com|imgur.com/a)/[\w.]+", + }) + + def items(self): + return self._items_queue(self.api.gallery_subreddit(self.key)) + + class ImgurAPI(): def __init__(self, extractor): @@ -297,6 +311,10 @@ class ImgurAPI(): endpoint = "account/{}/submissions".format(account) return self._pagination(endpoint) + def gallery_subreddit(self, subreddit): + endpoint = "gallery/r/{}".format(subreddit) + return self._pagination(endpoint) + def album(self, album_hash): return self._call("album/" + album_hash)