.activity_pub.processing¶
cattle_grid.activity_pub.processing ¶
incoming ¶
incoming_accept_activity
async
¶
incoming_accept_activity(
message: ActivityMessage,
actor: MessageActor,
session: CommittingSession,
)
Handles an incoming Accept activity
Source code in cattle_grid/activity_pub/processing/incoming.py
incoming_block_activity
async
¶
incoming_block_activity(
message: ActivityMessage,
actor: MessageActor,
session: CommittingSession,
)
Handles an incoming Block activity
Source code in cattle_grid/activity_pub/processing/incoming.py
incoming_follow_request
async
¶
incoming_follow_request(
message: ActivityMessage,
actor: MessageActor,
factories: FactoriesForActor,
session: CommittingSession,
publisher: InternalExchangePublisher,
)
For an incoming Follow request an entry in the Follower table is created
with having accepted
set to False.
If the actor automatically accepts followers, the actor sends Accept activity to the actor requesting to follow it.
Source code in cattle_grid/activity_pub/processing/incoming.py
incoming_reject_activity
async
¶
incoming_reject_activity(
message: ActivityMessage,
actor: MessageActor,
session: CommittingSession,
)
Handles an incoming Reject activity
Source code in cattle_grid/activity_pub/processing/incoming.py
incoming_undo_activity
async
¶
incoming_undo_activity(
message: ActivityMessage,
actor: MessageActor,
session: CommittingSession,
)
Handles an incoming Undo activity
Source code in cattle_grid/activity_pub/processing/incoming.py
outgoing ¶
outgoing_accept_request
async
¶
outgoing_accept_request(
message: ActivityMessage,
actor: MessageActor,
session: CommittingSession,
)
Handles an outgoing Accept activity
Source code in cattle_grid/activity_pub/processing/outgoing.py
outgoing_block_activity
async
¶
outgoing_block_activity(
message: ActivityMessage,
actor: MessageActor,
session: CommittingSession,
)
Handles an outgoing Block activity
Source code in cattle_grid/activity_pub/processing/outgoing.py
outgoing_follow_request
async
¶
outgoing_follow_request(
message: ActivityMessage,
actor: MessageActor,
session: CommittingSession,
)
Handles an outgoing Follow request
Source code in cattle_grid/activity_pub/processing/outgoing.py
outgoing_message_distribution
async
¶
outgoing_message_distribution(
message: ActivityMessage,
session: SqlSession,
publisher: InternalExchangePublisher,
)
Distributes the message to its recipients
Source code in cattle_grid/activity_pub/processing/outgoing.py
outgoing_reject_activity
async
¶
outgoing_reject_activity(
message: ActivityMessage,
actor: MessageActor,
session: CommittingSession,
)
Handles an outgoing Reject activity
Source code in cattle_grid/activity_pub/processing/outgoing.py
outgoing_undo_request
async
¶
outgoing_undo_request(
message: ActivityMessage,
actor: MessageActor,
session: CommittingSession,
)
Handles an outgoing Undo activity
Source code in cattle_grid/activity_pub/processing/outgoing.py
remote ¶
fetch_object
async
¶
fetch_object(
message: FetchMessage,
actor: MessageBovineActor,
lookup: LookupAnnotation,
)
Handles retrieving a remote object
Source code in cattle_grid/activity_pub/processing/remote.py
resolve_inbox
async
¶
resolve_inbox(
session: AsyncSession, actor: BovineActor, target: str
)
Resolves the inbox of target for actor using a cache
Source code in cattle_grid/activity_pub/processing/remote.py
sending_message
async
¶
sending_message(
message: ToSendMessage,
actor: MessageBovineActor,
sql_session: SqlSession,
)
Handles sending a message
Source code in cattle_grid/activity_pub/processing/remote.py
shared_inbox ¶
handle_shared_inbox_message
async
¶
handle_shared_inbox_message(
message: SharedInboxMessage,
session: SqlSession,
broker: RabbitBroker = Context(),
)
This method is used to handle incoming messages from the shared inbox.
Source code in cattle_grid/activity_pub/processing/shared_inbox.py
store_activity ¶
store_activity_subscriber
async
¶
store_activity_subscriber(
message: StoreActivityMessage,
actor: MessageActor,
session: CommittingSession,
publisher: InternalExchangePublisher,
)
This method used internally to store activities
generated by cattle_grid
, e.g. an automatically generated
accept requests. We note that it assigns an id to
the activity.
After storing the activity, it is published to the
appropriate outgoing.*
topic, which triggers sending
the activity.
Source code in cattle_grid/activity_pub/processing/store_activity.py
testing ¶
actor_with_account
async
¶
actor_with_account(sql_session, account_for_test) -> Actor
Fixture to create an actor with an account
Source code in cattle_grid/testing/fixtures.py
loaded_config ¶
sql_engine_for_tests
async
¶
Provides the sql engine (as in memory sqlite) for tests
This fixture has autouse=True, meaning that by importing
it will run automatically. The engine is initialized in the place cattle_grid expects it.
Source code in cattle_grid/testing/fixtures.py
sql_session
async
¶
Returns an AsyncSession to be used by tests
util ¶
update_recipients_for_collections
async
¶
update_recipients_for_collections(
session: AsyncSession,
msg: ActivityMessage,
recipients: Set[str],
) -> Set[str]
Updates recipients with followers and following collection.