summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/reddit.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/reddit.py')
-rw-r--r--gallery_dl/extractor/reddit.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/gallery_dl/extractor/reddit.py b/gallery_dl/extractor/reddit.py
index 43c7e50..55c963d 100644
--- a/gallery_dl/extractor/reddit.py
+++ b/gallery_dl/extractor/reddit.py
@@ -112,12 +112,18 @@ class RedditExtractor(Extractor):
"""Return an iterable containing all (submission, comments) tuples"""
def _extract_gallery(self, submission):
- if submission["gallery_data"] is None:
+ gallery = submission["gallery_data"]
+ if gallery is None:
self.log.warning("gallery %s: deleted", submission["id"])
return
- meta = submission["media_metadata"]
- for item in submission["gallery_data"]["items"]:
+ meta = submission.get("media_metadata")
+ if meta is None:
+ self.log.warning("gallery %s: missing 'media_metadata'",
+ submission["id"])
+ return
+
+ for item in gallery["items"]:
data = meta[item["media_id"]]
if data["status"] != "valid" or "s" not in data:
self.log.warning(
@@ -221,6 +227,10 @@ class RedditSubmissionExtractor(RedditExtractor):
("https://www.reddit.com/r/cosplay/comments/jvwaqr", {
"count": 1,
}),
+ # gallery with no 'media_metadata' (#2001)
+ ("https://www.reddit.com/r/kpopfap/comments/qjj04q/", {
+ "count": 0,
+ }),
("https://old.reddit.com/r/lavaporn/comments/2a00np/"),
("https://np.reddit.com/r/lavaporn/comments/2a00np/"),
("https://m.reddit.com/r/lavaporn/comments/2a00np/"),