From 6482bbc5257853ef3289ce4e3657fbb7075a18c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Sun, 3 Mar 2024 20:41:01 +0100 Subject: [PATCH] [bluesky] handle different 'embed' structure --- gallery_dl/extractor/bluesky.py | 8 ++++++-- test/results/bluesky.py | 8 ++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/gallery_dl/extractor/bluesky.py b/gallery_dl/extractor/bluesky.py index 8f7127b4..f57651c0 100644 --- a/gallery_dl/extractor/bluesky.py +++ b/gallery_dl/extractor/bluesky.py @@ -107,10 +107,14 @@ class BlueskyExtractor(Extractor): post["width"] = post["height"] = 0 image = file["image"] - post["filename"] = link = image["ref"]["$link"] + try: + cid = image["ref"]["$link"] + except KeyError: + cid = image["cid"] + post["filename"] = cid post["extension"] = image["mimeType"].rpartition("/")[2] - yield Message.Url, base + link, post + yield Message.Url, base + cid, post def posts(self): return () diff --git a/test/results/bluesky.py b/test/results/bluesky.py index 213854d3..84b99aa3 100644 --- a/test/results/bluesky.py +++ b/test/results/bluesky.py @@ -202,4 +202,12 @@ __tests__ = ( "uri" : "at://did:plc:cslxjqkeexku6elp5xowxkq7/app.bsky.feed.post/3kkzc3xaf5m2w", }, +{ + "#url" : "https://bsky.app/profile/go-guiltism.bsky.social/post/3klgth6lilt2l", + "#comment" : "different embed CID path", + "#category": ("", "bluesky", "post"), + "#class" : bluesky.BlueskyPostExtractor, + "#urls" : "https://bsky.social/xrpc/com.atproto.sync.getBlob?did=did:plc:owc2r2dsewj3hk73rtd746zh&cid=bafkreieuhplc7fpbvi3suvacaf2dqxzvuu4hgl5o6eifqb76tf3uopldmi", +}, + )