[bluesky] add 'video' extractor (#4438)

This commit is contained in:
Mike Fährmann
2025-04-16 12:00:57 +02:00
parent 7d1321cbda
commit dcaf7293b3
4 changed files with 24 additions and 1 deletions

View File

@@ -1586,6 +1586,7 @@ Description
``"posts"``,
``"replies"``,
``"media"``,
``"video"``,
``"likes"``,
It is possible to use ``"all"`` instead of listing all values separately.

View File

@@ -148,7 +148,7 @@ Consider all listed sites to potentially be NSFW.
<tr>
<td>Bluesky</td>
<td>https://bsky.app/</td>
<td>Avatars, Backgrounds, Feeds, Followed Users, Hashtags, User Profile Information, Likes, Lists, Media Files, Posts, Replies, Search Results, User Profiles</td>
<td>Avatars, Backgrounds, Feeds, Followed Users, Hashtags, User Profile Information, Likes, Lists, Media Files, Posts, Replies, Search Results, User Profiles, Videos</td>
<td>Supported</td>
</tr>
<tr>

View File

@@ -225,6 +225,7 @@ class BlueskyUserExtractor(BlueskyExtractor):
(BlueskyPostsExtractor , base + "posts"),
(BlueskyRepliesExtractor , base + "replies"),
(BlueskyMediaExtractor , base + "media"),
(BlueskyVideoExtractor , base + "video"),
(BlueskyLikesExtractor , base + "likes"),
), (default,))
@@ -259,6 +260,16 @@ class BlueskyMediaExtractor(BlueskyExtractor):
self.groups[0], "posts_with_media")
class BlueskyVideoExtractor(BlueskyExtractor):
subcategory = "video"
pattern = USER_PATTERN + r"/video"
example = "https://bsky.app/profile/HANDLE/video"
def posts(self):
return self.api.get_author_feed(
self.groups[0], "posts_with_video")
class BlueskyLikesExtractor(BlueskyExtractor):
subcategory = "likes"
pattern = USER_PATTERN + r"/likes"

View File

@@ -39,6 +39,7 @@ __tests__ = (
"https://bsky.app/profile/did:plc:z72i7hdynmk6r22z27h6tvur/posts",
"https://bsky.app/profile/did:plc:z72i7hdynmk6r22z27h6tvur/replies",
"https://bsky.app/profile/did:plc:z72i7hdynmk6r22z27h6tvur/media",
"https://bsky.app/profile/did:plc:z72i7hdynmk6r22z27h6tvur/video",
"https://bsky.app/profile/did:plc:z72i7hdynmk6r22z27h6tvur/likes",
),
},
@@ -93,6 +94,16 @@ __tests__ = (
"#count" : 40,
},
{
"#url" : "https://bsky.app/profile/mikf.bsky.social/video",
"#category": ("", "bluesky", "video"),
"#class" : bluesky.BlueskyVideoExtractor,
"#urls" : (
"https://conocybe.us-west.host.bsky.network/xrpc/com.atproto.sync.getBlob?did=did:plc:cslxjqkeexku6elp5xowxkq7&cid=bafkreibmoobktxndnzauku65onoxu2tvvqswetezv76tqcwipktjs3cw3m",
"https://conocybe.us-west.host.bsky.network/xrpc/com.atproto.sync.getBlob?did=did:plc:cslxjqkeexku6elp5xowxkq7&cid=bafkreihq2nsfocrnlpx4nykb4szouqszxwmy3ucnk4k46nx5t6hjnxlti4",
),
},
{
"#url" : "https://bsky.app/profile/did:plc:jfhpnnst6flqway4eaeqzj2a/feed/for-science",
"#category": ("", "bluesky", "feed"),