diff options
| author | 2019-12-25 19:40:29 -0500 | |
|---|---|---|
| committer | 2019-12-25 19:40:29 -0500 | |
| commit | d9cde490ce957f56cd2bb9e1628c2c0ef1a8733b (patch) | |
| tree | 13f58a5c602ae402a6b1fc598ce227e9f36f3aa2 /gallery_dl/extractor/imgur.py | |
| parent | f9b17d9842e84709e2a41e92eb1dff0654c430c5 (diff) | |
| parent | f9a1a9dcb7df977eeac9544786df9c0b93795815 (diff) | |
Update upstream source from tag 'upstream/1.12.1'
Update to upstream version '1.12.1'
with Debian dir 6bd6e3209b21195bb26b892f2d85b1324de1f0d9
Diffstat (limited to 'gallery_dl/extractor/imgur.py')
| -rw-r--r-- | gallery_dl/extractor/imgur.py | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/gallery_dl/extractor/imgur.py b/gallery_dl/extractor/imgur.py index b1be995..ce3e1ce 100644 --- a/gallery_dl/extractor/imgur.py +++ b/gallery_dl/extractor/imgur.py @@ -116,8 +116,8 @@ class ImgurImageExtractor(ImgurExtractor): image = self.api.image(self.key) if not image["title"]: page = self.request(self.root + "/" + self.key, fatal=False).text - title = text.extract(page, "<title>", "<")[0] - image["title"] = (title or "").rpartition(" - ")[0].strip() + title = text.extract(page, "<title>", "<")[0] or "" + image["title"] = text.unescape(title.rpartition(" - ")[0].strip()) url = self._prepare(image) yield Message.Version, 1 yield Message.Directory, image @@ -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) |
