social media crossposting tool. 3rd time's the charm
mastodon misskey crossposting bluesky
at next 32 lines 853 B view raw
1from typing import override 2 3from cross.post import Post, PostRef 4from cross.service import OutputService 5from database.connection import DatabasePool 6 7 8class DummyOptions: 9 @classmethod 10 def from_dict(cls, _obj) -> "DummyOptions": 11 return DummyOptions() 12 13 14class StderrOutputService(OutputService): 15 def __init__(self, db: DatabasePool, _options: DummyOptions) -> None: 16 super().__init__("http://localhost", db) 17 18 @override 19 def accept_post(self, post: Post): 20 self.log.info("%s", post) 21 22 @override 23 def accept_repost(self, repost: PostRef, reposted: PostRef): 24 self.log.info("%s, %s", repost.id, reposted.id) 25 26 @override 27 def delete_post(self, post: PostRef): 28 self.log.info("%s", post.id) 29 30 @override 31 def delete_repost(self, repost: PostRef): 32 self.log.info("%s", repost.id)