summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/reddit.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2023-05-28 01:35:27 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2023-05-28 01:35:27 -0400
commit8950c0f2ef55ec2ed36b3fccc9fd85b64b877c3b (patch)
tree353c894306904849b05b4dacbb9ea0966f36bd95 /gallery_dl/extractor/reddit.py
parentbff1d7a3fc1f184002ea6c6f77de675885bda3eb (diff)
New upstream version 1.25.5.upstream/1.25.5
Diffstat (limited to 'gallery_dl/extractor/reddit.py')
-rw-r--r--gallery_dl/extractor/reddit.py28
1 files changed, 19 insertions, 9 deletions
diff --git a/gallery_dl/extractor/reddit.py b/gallery_dl/extractor/reddit.py
index cefe8d3..3f09e13 100644
--- a/gallery_dl/extractor/reddit.py
+++ b/gallery_dl/extractor/reddit.py
@@ -55,21 +55,26 @@ class RedditExtractor(Extractor):
visited.add(submission["id"])
submission["num"] = 0
- url = submission["url"]
+ if "crosspost_parent_list" in submission:
+ media = submission["crosspost_parent_list"][-1]
+ else:
+ media = submission
+
+ url = media["url"]
if url and url.startswith("https://i.redd.it/"):
text.nameext_from_url(url, submission)
yield Message.Url, url, submission
- elif "gallery_data" in submission:
+ elif "gallery_data" in media:
for submission["num"], url in enumerate(
- self._extract_gallery(submission), 1):
+ self._extract_gallery(media), 1):
text.nameext_from_url(url, submission)
yield Message.Url, url, submission
- elif submission["is_video"]:
+ elif media["is_video"]:
if videos:
text.nameext_from_url(url, submission)
- url = "ytdl:" + self._extract_video(submission)
+ url = "ytdl:" + self._extract_video(media)
yield Message.Url, url, submission
elif not submission["is_self"]:
@@ -280,14 +285,19 @@ class RedditSubmissionExtractor(RedditExtractor):
("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/"),
- ("https://redd.it/2a00np/"),
+ # user page submission (#2301)
("https://www.reddit.com/user/TheSpiritTree/comments/srilyf/", {
"pattern": r"https://i.redd.it/8fpgv17yqlh81.jpg",
"count": 1,
}),
+ # cross-posted video (#887, #3586, #3976)
+ ("https://www.reddit.com/r/kittengifs/comments/12m0b8d", {
+ "pattern": r"ytdl:https://v\.redd\.it/cvabpjacrvta1",
+ }),
+ ("https://old.reddit.com/r/lavaporn/comments/2a00np/"),
+ ("https://np.reddit.com/r/lavaporn/comments/2a00np/"),
+ ("https://m.reddit.com/r/lavaporn/comments/2a00np/"),
+ ("https://redd.it/2a00np/"),
)
def __init__(self, match):