aboutsummaryrefslogtreecommitdiff
path: root/yt_dlp/extractor/bluesky.py
diff options
context:
space:
mode:
Diffstat (limited to 'yt_dlp/extractor/bluesky.py')
-rw-r--r--yt_dlp/extractor/bluesky.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/yt_dlp/extractor/bluesky.py b/yt_dlp/extractor/bluesky.py
index 42dadf7b9..23344ac6c 100644
--- a/yt_dlp/extractor/bluesky.py
+++ b/yt_dlp/extractor/bluesky.py
@@ -286,17 +286,19 @@ class BlueskyIE(InfoExtractor):
services, ('service', lambda _, x: x['type'] == 'AtprotoPersonalDataServer',
'serviceEndpoint', {url_or_none}, any)) or 'https://bsky.social'
- def _real_extract(self, url):
- handle, video_id = self._match_valid_url(url).group('handle', 'id')
-
- post = self._download_json(
+ def _extract_post(self, handle, post_id):
+ return self._download_json(
'https://public.api.bsky.app/xrpc/app.bsky.feed.getPostThread',
- video_id, query={
- 'uri': f'at://{handle}/app.bsky.feed.post/{video_id}',
+ post_id, query={
+ 'uri': f'at://{handle}/app.bsky.feed.post/{post_id}',
'depth': 0,
'parentHeight': 0,
})['thread']['post']
+ def _real_extract(self, url):
+ handle, video_id = self._match_valid_url(url).group('handle', 'id')
+ post = self._extract_post(handle, video_id)
+
entries = []
# app.bsky.embed.video.view/app.bsky.embed.external.view
entries.extend(self._extract_videos(post, video_id))