+1
-1
atproto2.py
bluesky/atproto2.py
+1
-1
atproto2.py
bluesky/atproto2.py
-693
bluesky.py
-693
bluesky.py
···-from atproto_firehose import models as firehose_models, parse_subscribe_repos_message as parse_firehose-def __init__(self, post: dict, tokens: list[cross.Token], attachments: list[media_util.MediaInfo]) -> None:-async def listen(self, outputs: list[cross.Output], submit: Callable[[Callable[[], Any]], Any]):-raise ValueError(f"'thread_gate' only accepts {', '.join(ALLOWED_GATES)} or [], got: {thread_gate}")-root_record = models.AppBskyFeedPost.CreateRecordResponse(uri=str(root_ref['uri']), cid=str(root_ref['cid']))-reply_record = models.AppBskyFeedPost.CreateRecordResponse(uri=str(reply_ref['uri']), cid=str(reply_ref['cid']))-labels = models.ComAtprotoLabelDefs.SelfLabels(values=[models.ComAtprotoLabelDefs.SelfLabel(val=label) for label in unique_labels])-LOGGER.error("Skipping post_id '%s', failed to download attachment! File too large.", post.get_id())-LOGGER.error("Skipping post_id '%s', failed to download attachment! File too large?", post.get_id())
+163
bluesky/common.py
+163
bluesky/common.py
···+def __init__(self, post: dict, tokens: list[cross.Token], attachments: list[MediaInfo]) -> None:
+178
bluesky/input.py
+178
bluesky/input.py
···+from atproto_firehose import models as firehose_models, parse_subscribe_repos_message as parse_firehose+async def listen(self, outputs: list[cross.Output], submit: Callable[[Callable[[], Any]], Any]):
+372
bluesky/output.py
+372
bluesky/output.py
···+from util.media import MediaInfo, get_filename_from_url, get_media_meta, compress_image, convert_to_mp4+raise ValueError(f"'thread_gate' only accepts {', '.join(ALLOWED_GATES)} or [], got: {thread_gate}")+root_record = models.AppBskyFeedPost.CreateRecordResponse(uri=str(root_ref['uri']), cid=str(root_ref['cid']))+reply_record = models.AppBskyFeedPost.CreateRecordResponse(uri=str(reply_ref['uri']), cid=str(reply_ref['cid']))+labels = models.ComAtprotoLabelDefs.SelfLabels(values=[models.ComAtprotoLabelDefs.SelfLabel(val=label) for label in unique_labels])+LOGGER.error("Skipping post_id '%s', failed to download attachment! File too large.", post.get_id())+LOGGER.error("Skipping post_id '%s', failed to download attachment! File too large?", post.get_id())
+4
-5
cross.py
+4
-5
cross.py
······
database.py
util/database.py
database.py
util/database.py
+19
-12
main.py
+19
-12
main.py
······
markeddown.py
mastodon/markeddown.py
markeddown.py
mastodon/markeddown.py
-614
mastodon.py
-614
mastodon.py
···-if last_token and isinstance(last_token, cross.TextToken) and last_token.text.endswith('\n\n'):-def __init__(self, status: dict, tokens: list[cross.Token], media_attachments: list[media_util.MediaInfo]) -> None:-raise ValueError(f"'allowed_visibility' only accepts {', '.join(ALLOWED_VISIBILITY)}, got: {allowed_visibility}")-self.token = util.as_envvar(settings.get('token')) or (_ for _ in ()).throw(ValueError("'token' is required"))-instance: str = util.as_envvar(settings.get('instance')) or (_ for _ in ()).throw(ValueError("'instance' is required"))-if status.get('reblog') or (status.get('quote_id') or status.get('quote')) or status.get('poll'):-success = database.try_insert_post(self.db, status['id'], in_reply, self.user_id, self.service)-async def listen(self, outputs: list[cross.Output], submit: Callable[[Callable[[], Any]], Any]):-raise ValueError(f"'visibility' only accepts {', '.join(ALLOWED_POSTING_VISIBILITY)}, got: {visibility}")-self.token = util.as_envvar(settings.get('token')) or (_ for _ in ()).throw(ValueError("'token' is required"))-instance: str = util.as_envvar(settings.get('instance')) or (_ for _ in ()).throw(ValueError("'instance' is required"))-self.characters_reserved_per_url: int = statuses_config.get('characters_reserved_per_url', 23)-self.supported_mime_types: list[str] = media_config.get('supported_mime_types', POSSIBLE_MIMES)-split_tokens = cross.split_tokens(tokens, self.max_characters, self.characters_reserved_per_url)
+116
mastodon/common.py
+116
mastodon/common.py
···+def __init__(self, status: dict, tokens: list[cross.Token], media_attachments: list[MediaInfo]) -> None:+if last_token and isinstance(last_token, cross.TextToken) and last_token.text.endswith('\n\n'):
+166
mastodon/input.py
+166
mastodon/input.py
···+raise ValueError(f"'allowed_visibility' only accepts {', '.join(ALLOWED_VISIBILITY)}, got: {allowed_visibility}")+self.token = as_envvar(settings.get('token')) or (_ for _ in ()).throw(ValueError("'token' is required"))+instance: str = as_envvar(settings.get('instance')) or (_ for _ in ()).throw(ValueError("'instance' is required"))+if status.get('reblog') or (status.get('quote_id') or status.get('quote')) or status.get('poll'):+success = database.try_insert_post(self.db, status['id'], in_reply, self.user_id, self.service)+async def listen(self, outputs: list[cross.Output], submit: Callable[[Callable[[], Any]], Any]):
+345
mastodon/output.py
+345
mastodon/output.py
···+raise ValueError(f"'visibility' only accepts {', '.join(ALLOWED_POSTING_VISIBILITY)}, got: {visibility}")+self.token = as_envvar(settings.get('token')) or (_ for _ in ()).throw(ValueError("'token' is required"))+instance: str = as_envvar(settings.get('instance')) or (_ for _ in ()).throw(ValueError("'instance' is required"))+self.supported_mime_types: list[str] = media_config.get('supported_mime_types', POSSIBLE_MIMES)+split_tokens = cross.split_tokens(tokens, self.max_characters, self.characters_reserved_per_url)
+1
-1
media_util.py
util/media.py
+1
-1
media_util.py
util/media.py
+10
-39
misskey.py
misskey/input.py
+10
-39
misskey.py
misskey/input.py
···-def __init__(self, note: dict, tokens: list[cross.Token], files: list[media_util.MediaInfo]) -> None:···-self.token = util.as_envvar(settings.get('token')) or (_ for _ in ()).throw(ValueError("'token' is required"))-instance: str = util.as_envvar(settings.get('instance')) or (_ for _ in ()).throw(ValueError("'instance' is required"))+self.token = as_envvar(settings.get('token')) or (_ for _ in ()).throw(ValueError("'token' is required"))+instance: str = as_envvar(settings.get('instance')) or (_ for _ in ()).throw(ValueError("'instance' is required"))···
+35
misskey/common.py
+35
misskey/common.py
···
util.py
util/util.py
util.py
util/util.py