aboutsummaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/imgur.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/imgur.py')
-rw-r--r--gallery_dl/extractor/imgur.py19
1 files changed, 13 insertions, 6 deletions
diff --git a/gallery_dl/extractor/imgur.py b/gallery_dl/extractor/imgur.py
index 0813ea9..44fa5f2 100644
--- a/gallery_dl/extractor/imgur.py
+++ b/gallery_dl/extractor/imgur.py
@@ -34,7 +34,11 @@ class ImgurExtractor(Extractor):
except KeyError:
pass
- url = image["mp4"] if image["animated"] and self.mp4 else image["link"]
+ if image["animated"] and self.mp4 and "mp4" in image:
+ url = image["mp4"]
+ else:
+ url = image["link"]
+
image["date"] = text.parse_timestamp(image["datetime"])
text.nameext_from_url(url, image)
@@ -100,6 +104,9 @@ class ImgurImageExtractor(ImgurExtractor):
("https://imgur.com/HjoXJAd", { # url ends with '.jpg?1'
"url": "ec2cf11a2bfb4939feff374781a6e6f3e9af8e8e",
}),
+ ("https://imgur.com/1Nily2P", { # animated png
+ "pattern": "https://i.imgur.com/1Nily2P.png",
+ }),
("https://imgur.com/zzzzzzz", { # not found
"exception": exception.HttpError,
}),
@@ -130,7 +137,7 @@ class ImgurAlbumExtractor(ImgurExtractor):
directory_fmt = ("{category}", "{album[id]}{album[title]:? - //}")
filename_fmt = "{category}_{album[id]}_{num:>03}_{id}.{extension}"
archive_fmt = "{album[id]}_{id}"
- pattern = BASE_PATTERN + r"/(?:a|t/unmuted)/(\w{7}|\w{5})"
+ pattern = BASE_PATTERN + r"/a/(\w{7}|\w{5})"
test = (
("https://imgur.com/a/TcBmP", {
"url": "ce3552f550a5b5316bd9c7ae02e21e39f30c0563",
@@ -192,9 +199,6 @@ class ImgurAlbumExtractor(ImgurExtractor):
("https://imgur.com/a/RhJXhVT/all", { # 7 character album hash
"url": "695ef0c950023362a0163ee5041796300db76674",
}),
- ("https://imgur.com/t/unmuted/YMqBcua", { # unmuted URL
- "url": "86b4747f8147cec7602f0214e267309af73a8655",
- }),
("https://imgur.com/a/TcBmQ", {
"exception": exception.HttpError,
}),
@@ -225,7 +229,7 @@ class ImgurAlbumExtractor(ImgurExtractor):
class ImgurGalleryExtractor(ImgurExtractor):
"""Extractor for imgur galleries"""
subcategory = "gallery"
- pattern = BASE_PATTERN + r"/gallery/(\w{7}|\w{5})"
+ pattern = BASE_PATTERN + r"/(?:gallery|t/unmuted)/(\w{7}|\w{5})"
test = (
("https://imgur.com/gallery/zf2fIms", { # non-album gallery (#380)
"pattern": "https://imgur.com/zf2fIms",
@@ -233,6 +237,9 @@ class ImgurGalleryExtractor(ImgurExtractor):
("https://imgur.com/gallery/eD9CT", {
"pattern": "https://imgur.com/a/eD9CT",
}),
+ ("https://imgur.com/t/unmuted/26sEhNr", { # unmuted URL
+ "pattern": "https://imgur.com/26sEhNr",
+ }),
)
def items(self):