Skip to content

Commit

Permalink
Merge pull request #9 from mnogu/create-pull-request/patch
Browse files Browse the repository at this point in the history
Update atproto
  • Loading branch information
mnogu authored Sep 28, 2024
2 parents 2349235 + 9de79d3 commit 25fcbb0
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 13 deletions.
2 changes: 1 addition & 1 deletion atproto
Submodule atproto updated 191 files
6 changes: 4 additions & 2 deletions chitose/app/bsky/actor/defs.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import chitose.app.bsky.actor.defs
import chitose.app.bsky.graph.defs
import chitose.com.atproto.label.defs
import chitose.com.atproto.repo.strong_ref
import typing

class ProfileViewBasic(chitose.Object):
Expand Down Expand Up @@ -44,7 +45,7 @@ def to_dict(self) -> dict[str, typing.Any]:
class ProfileViewDetailed(chitose.Object):
""""""

def __init__(self, did: str, handle: str, display_name: typing.Optional[str]=None, description: typing.Optional[str]=None, avatar: typing.Optional[str]=None, banner: typing.Optional[str]=None, followers_count: typing.Optional[int]=None, follows_count: typing.Optional[int]=None, posts_count: typing.Optional[int]=None, associated: typing.Optional[chitose.app.bsky.actor.defs.ProfileAssociated]=None, joined_via_starter_pack: typing.Optional[chitose.app.bsky.graph.defs.StarterPackViewBasic]=None, indexed_at: typing.Optional[str]=None, created_at: typing.Optional[str]=None, viewer: typing.Optional[chitose.app.bsky.actor.defs.ViewerState]=None, labels: typing.Optional[list[chitose.com.atproto.label.defs.Label]]=None) -> None:
def __init__(self, did: str, handle: str, display_name: typing.Optional[str]=None, description: typing.Optional[str]=None, avatar: typing.Optional[str]=None, banner: typing.Optional[str]=None, followers_count: typing.Optional[int]=None, follows_count: typing.Optional[int]=None, posts_count: typing.Optional[int]=None, associated: typing.Optional[chitose.app.bsky.actor.defs.ProfileAssociated]=None, joined_via_starter_pack: typing.Optional[chitose.app.bsky.graph.defs.StarterPackViewBasic]=None, indexed_at: typing.Optional[str]=None, created_at: typing.Optional[str]=None, viewer: typing.Optional[chitose.app.bsky.actor.defs.ViewerState]=None, labels: typing.Optional[list[chitose.com.atproto.label.defs.Label]]=None, pinned_post: typing.Optional[chitose.com.atproto.repo.strong_ref.StrongRef]=None) -> None:
self.did = did
self.handle = handle
self.display_name = display_name
Expand All @@ -60,9 +61,10 @@ def __init__(self, did: str, handle: str, display_name: typing.Optional[str]=Non
self.created_at = created_at
self.viewer = viewer
self.labels = labels
self.pinned_post = pinned_post

def to_dict(self) -> dict[str, typing.Any]:
return {'did': self.did, 'handle': self.handle, 'displayName': self.display_name, 'description': self.description, 'avatar': self.avatar, 'banner': self.banner, 'followersCount': self.followers_count, 'followsCount': self.follows_count, 'postsCount': self.posts_count, 'associated': self.associated, 'joinedViaStarterPack': self.joined_via_starter_pack, 'indexedAt': self.indexed_at, 'createdAt': self.created_at, 'viewer': self.viewer, 'labels': self.labels, '$type': 'app.bsky.actor.defs#profileViewDetailed'}
return {'did': self.did, 'handle': self.handle, 'displayName': self.display_name, 'description': self.description, 'avatar': self.avatar, 'banner': self.banner, 'followersCount': self.followers_count, 'followsCount': self.follows_count, 'postsCount': self.posts_count, 'associated': self.associated, 'joinedViaStarterPack': self.joined_via_starter_pack, 'indexedAt': self.indexed_at, 'createdAt': self.created_at, 'viewer': self.viewer, 'labels': self.labels, 'pinnedPost': self.pinned_post, '$type': 'app.bsky.actor.defs#profileViewDetailed'}

class ProfileAssociated(chitose.Object):
""""""
Expand Down
5 changes: 3 additions & 2 deletions chitose/app/bsky/actor/profile.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@ class Profile(chitose.Record):
:param labels: Self-label values, specific to the Bluesky application, on the overall account.
"""

def __init__(self, display_name: typing.Optional[str]=None, description: typing.Optional[str]=None, avatar: typing.Optional[chitose.Blob]=None, banner: typing.Optional[chitose.Blob]=None, labels: typing.Optional[chitose.com.atproto.label.defs.SelfLabels]=None, joined_via_starter_pack: typing.Optional[chitose.com.atproto.repo.strong_ref.StrongRef]=None, created_at: typing.Optional[str]=None) -> None:
def __init__(self, display_name: typing.Optional[str]=None, description: typing.Optional[str]=None, avatar: typing.Optional[chitose.Blob]=None, banner: typing.Optional[chitose.Blob]=None, labels: typing.Optional[chitose.com.atproto.label.defs.SelfLabels]=None, joined_via_starter_pack: typing.Optional[chitose.com.atproto.repo.strong_ref.StrongRef]=None, pinned_post: typing.Optional[chitose.com.atproto.repo.strong_ref.StrongRef]=None, created_at: typing.Optional[str]=None) -> None:
self.display_name = display_name
self.description = description
self.avatar = avatar
self.banner = banner
self.labels = labels
self.joined_via_starter_pack = joined_via_starter_pack
self.pinned_post = pinned_post
self.created_at = created_at

def to_dict(self) -> dict[str, typing.Any]:
return {'displayName': self.display_name, 'description': self.description, 'avatar': self.avatar, 'banner': self.banner, 'labels': self.labels, 'joinedViaStarterPack': self.joined_via_starter_pack, 'createdAt': self.created_at, '$type': 'app.bsky.actor.profile'}
return {'displayName': self.display_name, 'description': self.description, 'avatar': self.avatar, 'banner': self.banner, 'labels': self.labels, 'joinedViaStarterPack': self.joined_via_starter_pack, 'pinnedPost': self.pinned_post, 'createdAt': self.created_at, '$type': 'app.bsky.actor.profile'}
4 changes: 2 additions & 2 deletions chitose/app/bsky/feed/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,13 +130,13 @@ def get_timeline(self, algorithm: typing.Optional[str]=None, limit: typing.Optio
"""
return _get_timeline(self.call, algorithm, limit, cursor)

def get_author_feed(self, actor: str, limit: typing.Optional[int]=None, cursor: typing.Optional[str]=None, filter: typing.Optional[typing.Literal['posts_with_replies', 'posts_no_replies', 'posts_with_media', 'posts_and_author_threads']]=None) -> bytes:
def get_author_feed(self, actor: str, limit: typing.Optional[int]=None, cursor: typing.Optional[str]=None, filter: typing.Optional[typing.Literal['posts_with_replies', 'posts_no_replies', 'posts_with_media', 'posts_and_author_threads']]=None, include_pins: typing.Optional[bool]=None) -> bytes:
"""Get a view of an actor's 'author feed' (post and reposts by the author). Does not require auth.
:param filter: Combinations of post/repost types to include in response.
"""
return _get_author_feed(self.call, actor, limit, cursor, filter)
return _get_author_feed(self.call, actor, limit, cursor, filter, include_pins)

def get_feed_generator(self, feed: str) -> bytes:
"""Get information about a feed generator. Implemented by AppView.
Expand Down
21 changes: 17 additions & 4 deletions chitose/app/bsky/feed/defs.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,16 @@ def to_dict(self) -> dict[str, typing.Any]:
class ViewerState(chitose.Object):
"""Metadata about the requesting account's relationship with the subject content. Only has meaningful content for authed requests."""

def __init__(self, repost: typing.Optional[str]=None, like: typing.Optional[str]=None, thread_muted: typing.Optional[bool]=None, reply_disabled: typing.Optional[bool]=None, embedding_disabled: typing.Optional[bool]=None) -> None:
def __init__(self, repost: typing.Optional[str]=None, like: typing.Optional[str]=None, thread_muted: typing.Optional[bool]=None, reply_disabled: typing.Optional[bool]=None, embedding_disabled: typing.Optional[bool]=None, pinned: typing.Optional[bool]=None) -> None:
self.repost = repost
self.like = like
self.thread_muted = thread_muted
self.reply_disabled = reply_disabled
self.embedding_disabled = embedding_disabled
self.pinned = pinned

def to_dict(self) -> dict[str, typing.Any]:
return {'repost': self.repost, 'like': self.like, 'threadMuted': self.thread_muted, 'replyDisabled': self.reply_disabled, 'embeddingDisabled': self.embedding_disabled, '$type': 'app.bsky.feed.defs#viewerState'}
return {'repost': self.repost, 'like': self.like, 'threadMuted': self.thread_muted, 'replyDisabled': self.reply_disabled, 'embeddingDisabled': self.embedding_disabled, 'pinned': self.pinned, '$type': 'app.bsky.feed.defs#viewerState'}

class FeedViewPost(chitose.Object):
"""
Expand All @@ -55,7 +56,7 @@ class FeedViewPost(chitose.Object):
:param feed_context: Context provided by feed generator that may be passed back alongside interactions.
"""

def __init__(self, post: chitose.app.bsky.feed.defs.PostView, reply: typing.Optional[chitose.app.bsky.feed.defs.ReplyRef]=None, reason: typing.Optional[chitose.app.bsky.feed.defs.ReasonRepost]=None, feed_context: typing.Optional[str]=None) -> None:
def __init__(self, post: chitose.app.bsky.feed.defs.PostView, reply: typing.Optional[chitose.app.bsky.feed.defs.ReplyRef]=None, reason: typing.Optional[typing.Union[chitose.app.bsky.feed.defs.ReasonRepost, chitose.app.bsky.feed.defs.ReasonPin]]=None, feed_context: typing.Optional[str]=None) -> None:
self.post = post
self.reply = reply
self.reason = reason
Expand Down Expand Up @@ -89,6 +90,12 @@ def __init__(self, by: chitose.app.bsky.actor.defs.ProfileViewBasic, indexed_at:
def to_dict(self) -> dict[str, typing.Any]:
return {'by': self.by, 'indexedAt': self.indexed_at, '$type': 'app.bsky.feed.defs#reasonRepost'}

class ReasonPin(chitose.Object):
""""""

def to_dict(self) -> dict[str, typing.Any]:
return {'$type': 'app.bsky.feed.defs#reasonPin'}

class ThreadViewPost(chitose.Object):
""""""

Expand Down Expand Up @@ -168,7 +175,7 @@ class SkeletonFeedPost(chitose.Object):
:param feed_context: Context that will be passed through to client and may be passed to feed generator back alongside interactions.
"""

def __init__(self, post: str, reason: typing.Optional[chitose.app.bsky.feed.defs.SkeletonReasonRepost]=None, feed_context: typing.Optional[str]=None) -> None:
def __init__(self, post: str, reason: typing.Optional[typing.Union[chitose.app.bsky.feed.defs.SkeletonReasonRepost, chitose.app.bsky.feed.defs.SkeletonReasonPin]]=None, feed_context: typing.Optional[str]=None) -> None:
self.post = post
self.reason = reason
self.feed_context = feed_context
Expand All @@ -185,6 +192,12 @@ def __init__(self, repost: str) -> None:
def to_dict(self) -> dict[str, typing.Any]:
return {'repost': self.repost, '$type': 'app.bsky.feed.defs#skeletonReasonRepost'}

class SkeletonReasonPin(chitose.Object):
""""""

def to_dict(self) -> dict[str, typing.Any]:
return {'$type': 'app.bsky.feed.defs#skeletonReasonPin'}

class ThreadgateView(chitose.Object):
""""""

Expand Down
4 changes: 2 additions & 2 deletions chitose/app/bsky/feed/get_author_feed.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
import chitose
import typing

def _get_author_feed(call: chitose.xrpc.XrpcCall, actor: str, limit: typing.Optional[int]=None, cursor: typing.Optional[str]=None, filter: typing.Optional[typing.Literal['posts_with_replies', 'posts_no_replies', 'posts_with_media', 'posts_and_author_threads']]=None) -> bytes:
def _get_author_feed(call: chitose.xrpc.XrpcCall, actor: str, limit: typing.Optional[int]=None, cursor: typing.Optional[str]=None, filter: typing.Optional[typing.Literal['posts_with_replies', 'posts_no_replies', 'posts_with_media', 'posts_and_author_threads']]=None, include_pins: typing.Optional[bool]=None) -> bytes:
"""Get a view of an actor's 'author feed' (post and reposts by the author). Does not require auth.
:param filter: Combinations of post/repost types to include in response.
"""
return call('app.bsky.feed.getAuthorFeed', [('actor', actor), ('limit', limit), ('cursor', cursor), ('filter', filter)], None, {})
return call('app.bsky.feed.getAuthorFeed', [('actor', actor), ('limit', limit), ('cursor', cursor), ('filter', filter), ('includePins', include_pins)], None, {})

0 comments on commit 25fcbb0

Please sign in to comment.