Coverage report: 80%

Files Functions Classes

coverage.py v7.6.1, created at 2024-11-07 05:11 +0000

File function statements missing excluded coverage
slidge/__init__.py entrypoint 2 2 0 0%
slidge/__init__.py formatwarning 1 1 0 0%
slidge/__init__.py (no function) 18 0 0 100%
slidge/__main__.py (no function) 2 2 0 0%
slidge/__version__.py (no function) 2 0 0 100%
slidge/command/__init__.py (no function) 3 0 0 100%
slidge/command/adhoc.py AdhocProvider.__init__ 4 0 0 100%
slidge/command/adhoc.py AdhocProvider.__wrap_initial_handler 4 0 0 100%
slidge/command/adhoc.py AdhocProvider.__handle_category_list 14 1 0 93%
slidge/command/adhoc.py AdhocProvider.__handle_category_choice 3 0 0 100%
slidge/command/adhoc.py AdhocProvider.__handle_result 23 1 0 96%
slidge/command/adhoc.py AdhocProvider.__wrap_handler 9 3 0 67%
slidge/command/adhoc.py AdhocProvider.__wrap_form_handler 3 0 0 100%
slidge/command/adhoc.py AdhocProvider.__wrap_confirmation 6 1 0 83%
slidge/command/adhoc.py AdhocProvider.register 17 3 0 82%
slidge/command/adhoc.py AdhocProvider.get_items 24 1 0 96%
slidge/command/adhoc.py strip_leading_emoji_if_needed 3 1 0 67%
slidge/command/adhoc.py (no function) 29 0 3 100%
slidge/command/admin.py ListUsers.run 8 8 0 0%
slidge/command/admin.py SlidgeInfo.run 27 27 0 0%
slidge/command/admin.py DeleteUser.run 1 1 0 0%
slidge/command/admin.py DeleteUser.delete 5 5 0 0%
slidge/command/admin.py DeleteUser.finish 4 4 0 0%
slidge/command/admin.py ChangeLoglevel.run 1 1 0 0%
slidge/command/admin.py ChangeLoglevel.finish 1 1 0 0%
slidge/command/admin.py Exec.__init__ 1 1 0 0%
slidge/command/admin.py Exec.run 9 9 0 0%
slidge/command/admin.py (no function) 53 0 0 100%
slidge/command/base.py TableResult.get_xml 8 0 0 100%
slidge/command/base.py Confirmation.get_form 5 0 0 100%
slidge/command/base.py Form.get_values 5 0 0 100%
slidge/command/base.py Form.get_xml 7 0 0 100%
slidge/command/base.py FormField.__post_init__ 2 0 0 100%
slidge/command/base.py FormField.__acceptable_options 3 1 0 67%
slidge/command/base.py FormField.validate 24 6 0 75%
slidge/command/base.py FormField.__validate_list_multi 6 2 0 67%
slidge/command/base.py FormField.get_xml 12 1 0 92%
slidge/command/base.py Command.__init__ 1 0 0 100%
slidge/command/base.py Command.__init_subclass__ 1 0 0 100%
slidge/command/base.py Command.run 1 1 0 0%
slidge/command/base.py Command._get_session 4 0 0 100%
slidge/command/base.py Command.__can_use_command 2 0 0 100%
slidge/command/base.py Command.raise_if_not_authorized 16 1 0 94%
slidge/command/base.py is_admin 1 0 0 100%
slidge/command/base.py (no function) 106 0 4 100%
slidge/command/categories.py (no function) 8 0 0 100%
slidge/command/chat_command.py ChatCommandProvider.__init__ 5 0 0 100%
slidge/command/chat_command.py ChatCommandProvider.register 4 1 0 75%
slidge/command/chat_command.py ChatCommandProvider.input 0 0 0 100%
slidge/command/chat_command.py ChatCommandProvider.input 0 0 0 100%
slidge/command/chat_command.py ChatCommandProvider.input 14 4 0 71%
slidge/command/chat_command.py ChatCommandProvider._handle_message 27 6 0 78%
slidge/command/chat_command.py ChatCommandProvider.__make_uri 1 1 0 0%
slidge/command/chat_command.py ChatCommandProvider._handle_result 60 45 0 25%
slidge/command/chat_command.py ChatCommandProvider.__wrap_handler 11 8 0 27%
slidge/command/chat_command.py ChatCommandProvider._handle_help 9 5 0 44%
slidge/command/chat_command.py ChatCommandProvider._help 8 2 0 75%
slidge/command/chat_command.py ChatCommandProvider._not_found 3 0 0 100%
slidge/command/chat_command.py percent_encode 1 1 0 0%
slidge/command/chat_command.py (no function) 29 0 2 100%
slidge/command/register.py Register._finalize 4 4 0 0%
slidge/command/register.py Register.run 2 2 0 0%
slidge/command/register.py Register.register 26 26 0 0%
slidge/command/register.py Register.two_fa 5 5 0 0%
slidge/command/register.py Register.qr 7 7 0 0%
slidge/command/register.py Register.preferences 1 1 0 0%
slidge/command/register.py (no function) 35 0 0 100%
slidge/command/user.py Search.run 4 4 0 0%
slidge/command/user.py Search.search 5 5 0 0%
slidge/command/user.py SyncContacts.run 1 1 0 0%
slidge/command/user.py SyncContacts.sync 25 25 0 0%
slidge/command/user.py ListContacts.run 3 3 0 0%
slidge/command/user.py ListGroups.run 4 4 0 0%
slidge/command/user.py Login.run 10 10 0 0%
slidge/command/user.py CreateGroup.run 3 3 0 0%
slidge/command/user.py CreateGroup.finish 4 4 0 0%
slidge/command/user.py Preferences.run 6 6 0 0%
slidge/command/user.py Preferences.finish 8 8 0 0%
slidge/command/user.py Unregister.run 1 1 0 0%
slidge/command/user.py Unregister.unregister 5 5 0 0%
slidge/command/user.py LeaveGroup.run 4 4 0 0%
slidge/command/user.py LeaveGroup.confirm 2 2 0 0%
slidge/command/user.py LeaveGroup.finish 2 2 0 0%
slidge/command/user.py (no function) 84 0 2 100%
slidge/contact/__init__.py (no function) 3 0 0 100%
slidge/contact/contact.py LegacyContact.__init__ 17 0 0 100%
slidge/contact/contact.py LegacyContact.get_vcard 5 0 0 100%
slidge/contact/contact.py LegacyContact.is_friend 1 0 0 100%
slidge/contact/contact.py LegacyContact.is_friend 8 0 0 100%
slidge/contact/contact.py LegacyContact.added_to_roster 1 0 0 100%
slidge/contact/contact.py LegacyContact.added_to_roster 8 2 0 75%
slidge/contact/contact.py LegacyContact.participants 5 0 0 100%
slidge/contact/contact.py LegacyContact.user_jid 1 0 0 100%
slidge/contact/contact.py LegacyContact.DISCO_TYPE 1 0 0 100%
slidge/contact/contact.py LegacyContact.DISCO_TYPE 1 1 0 0%
slidge/contact/contact.py LegacyContact.client_type 1 0 0 100%
slidge/contact/contact.py LegacyContact.client_type 6 6 0 0%
slidge/contact/contact.py LegacyContact._set_logger_name 1 0 0 100%
slidge/contact/contact.py LegacyContact.__repr__ 1 0 0 100%
slidge/contact/contact.py LegacyContact.__ensure_pk 9 1 0 89%
slidge/contact/contact.py LegacyContact.__get_subscription_string 3 1 0 67%
slidge/contact/contact.py LegacyContact.__propagate_to_participants 17 2 0 88%
slidge/contact/contact.py LegacyContact._send 21 0 0 100%
slidge/contact/contact.py LegacyContact.get_msg_xmpp_id_up_to 3 0 0 100%
slidge/contact/contact.py LegacyContact.name 1 0 0 100%
slidge/contact/contact.py LegacyContact.name 13 1 0 92%
slidge/contact/contact.py LegacyContact._get_cached_avatar_id 3 0 0 100%
slidge/contact/contact.py LegacyContact._post_avatar_update 6 0 0 100%
slidge/contact/contact.py LegacyContact.set_vcard 35 13 0 63%
slidge/contact/contact.py LegacyContact.get_roster_item 4 1 0 75%
slidge/contact/contact.py LegacyContact.add_to_roster 16 12 0 25%
slidge/contact/contact.py LegacyContact.__broadcast_pubsub_items 10 3 0 70%
slidge/contact/contact.py LegacyContact._set_roster 4 0 0 100%
slidge/contact/contact.py LegacyContact.send_friend_request 2 0 0 100%
slidge/contact/contact.py LegacyContact.accept_friend_request 9 0 0 100%
slidge/contact/contact.py LegacyContact.reject_friend_request 4 0 0 100%
slidge/contact/contact.py LegacyContact.on_friend_request 1 1 0 0%
slidge/contact/contact.py LegacyContact.on_friend_delete 1 1 0 0%
slidge/contact/contact.py LegacyContact.on_friend_accept 1 1 0 0%
slidge/contact/contact.py LegacyContact.unsubscribe 2 0 0 100%
slidge/contact/contact.py LegacyContact.update_info 1 0 0 100%
slidge/contact/contact.py LegacyContact.fetch_vcard 1 0 0 100%
slidge/contact/contact.py LegacyContact._make_presence 7 0 0 100%
slidge/contact/contact.py LegacyContact.from_store 15 1 0 93%
slidge/contact/contact.py is_markable 3 1 0 67%
slidge/contact/contact.py (no function) 85 0 3 100%
slidge/contact/roster.py LegacyRoster.__init__ 9 0 0 100%
slidge/contact/roster.py LegacyRoster.__repr__ 1 1 0 0%
slidge/contact/roster.py LegacyRoster.__iter__ 3 0 0 100%
slidge/contact/roster.py LegacyRoster.known_contacts 3 3 0 0%
slidge/contact/roster.py LegacyRoster.by_jid 10 2 0 80%
slidge/contact/roster.py LegacyRoster.by_jid_only_if_exists 5 0 0 100%
slidge/contact/roster.py LegacyRoster.by_legacy_id 13 6 0 54%
slidge/contact/roster.py LegacyRoster.__update_contact 15 4 0 73%
slidge/contact/roster.py LegacyRoster.by_stanza 1 1 0 0%
slidge/contact/roster.py LegacyRoster.legacy_id_to_jid_username 1 0 0 100%
slidge/contact/roster.py LegacyRoster.jid_username_to_legacy_id 1 0 0 100%
slidge/contact/roster.py LegacyRoster._fill 25 13 0 48%
slidge/contact/roster.py LegacyRoster.fill 1 0 0 100%
slidge/contact/roster.py (no function) 31 0 2 100%
slidge/core/__init__.py (no function) 2 0 0 100%
slidge/core/config.py _TimedeltaSeconds.__new__ 1 0 0 100%
slidge/core/config.py (no function) 82 0 0 100%
slidge/core/dispatcher/__init__.py (no function) 2 0 0 100%
slidge/core/dispatcher/caps.py CapsMixin.__init__ 3 0 0 100%
slidge/core/dispatcher/caps.py CapsMixin._filter_add_caps 29 4 0 86%
slidge/core/dispatcher/caps.py (no function) 10 0 2 100%
slidge/core/dispatcher/disco.py DiscoMixin.__init__ 3 0 0 100%
slidge/core/dispatcher/disco.py DiscoMixin.get_info 11 1 0 91%
slidge/core/dispatcher/disco.py DiscoMixin.get_items 10 1 0 90%
slidge/core/dispatcher/disco.py (no function) 11 0 2 100%
slidge/core/dispatcher/message/__init__.py (no function) 6 0 0 100%
slidge/core/dispatcher/message/chat_state.py ChatStateMixin.__init__ 5 0 0 100%
slidge/core/dispatcher/message/chat_state.py ChatStateMixin.on_chatstate_active 5 2 0 60%
slidge/core/dispatcher/message/chat_state.py ChatStateMixin.on_chatstate_inactive 3 3 0 0%
slidge/core/dispatcher/message/chat_state.py ChatStateMixin.on_chatstate_composing 3 0 0 100%
slidge/core/dispatcher/message/chat_state.py ChatStateMixin.on_chatstate_paused 3 3 0 0%
slidge/core/dispatcher/message/chat_state.py (no function) 13 0 0 100%
slidge/core/dispatcher/message/marker.py MarkerMixin.__init__ 3 0 0 100%
slidge/core/dispatcher/message/marker.py MarkerMixin.on_marker_displayed 15 4 0 73%
slidge/core/dispatcher/message/marker.py MarkerMixin.on_message_displayed_synchronization_publish 13 4 0 69%
slidge/core/dispatcher/message/marker.py (no function) 11 0 0 100%
slidge/core/dispatcher/message/message.py MessageContentMixin.__init__ 6 0 0 100%
slidge/core/dispatcher/message/message.py MessageContentMixin.on_groupchat_message 1 0 0 100%
slidge/core/dispatcher/message/message.py MessageContentMixin.on_legacy_message 52 7 0 87%
slidge/core/dispatcher/message/message.py MessageContentMixin.on_message_correction 37 35 0 5%
slidge/core/dispatcher/message/message.py MessageContentMixin.on_message_retract 11 11 0 0%
slidge/core/dispatcher/message/message.py MessageContentMixin.on_reactions 40 15 0 62%
slidge/core/dispatcher/message/message.py MessageContentMixin.__ack 2 0 0 100%
slidge/core/dispatcher/message/message.py MessageContentMixin.__get_reply 30 14 0 53%
slidge/core/dispatcher/message/message.py MessageContentMixin.__send_url 5 5 0 0%
slidge/core/dispatcher/message/message.py MessageContentMixin.__send_bob 6 0 0 100%
slidge/core/dispatcher/message/message.py (no function) 29 0 0 100%
slidge/core/dispatcher/muc/__init__.py (no function) 8 0 0 100%
slidge/core/dispatcher/muc/admin.py MucAdminMixin.__init__ 4 0 0 100%
slidge/core/dispatcher/muc/admin.py MucAdminMixin.on_user_moderation 12 2 0 83%
slidge/core/dispatcher/muc/admin.py MucAdminMixin.on_user_set_affiliation 13 0 0 100%
slidge/core/dispatcher/muc/admin.py MucAdminMixin.on_muc_admin_query_get 13 1 0 92%
slidge/core/dispatcher/muc/admin.py (no function) 12 0 0 100%
slidge/core/dispatcher/muc/mam.py MamMixin.__init__ 5 0 0 100%
slidge/core/dispatcher/muc/mam.py MamMixin.__mam_cleanup 5 2 0 60%
slidge/core/dispatcher/muc/mam.py MamMixin.__handle_mam 2 0 0 100%
slidge/core/dispatcher/muc/mam.py MamMixin.__handle_mam_get_form 20 0 0 100%
slidge/core/dispatcher/muc/mam.py MamMixin.__handle_mam_metadata 2 0 0 100%
slidge/core/dispatcher/muc/mam.py (no function) 15 0 2 100%
slidge/core/dispatcher/muc/misc.py MucMiscMixin.__init__ 6 0 0 100%
slidge/core/dispatcher/muc/misc.py MucMiscMixin.__on_group_chat_error 15 0 0 100%
slidge/core/dispatcher/muc/misc.py MucMiscMixin.on_ibr_remove 9 0 0 100%
slidge/core/dispatcher/muc/misc.py MucMiscMixin.on_groupchat_join 4 1 0 75%
slidge/core/dispatcher/muc/misc.py MucMiscMixin.on_groupchat_direct_invite 10 1 0 90%
slidge/core/dispatcher/muc/misc.py MucMiscMixin.on_groupchat_subject 4 1 0 75%
slidge/core/dispatcher/muc/misc.py (no function) 17 0 0 100%
slidge/core/dispatcher/muc/owner.py MucOwnerMixin.__init__ 3 0 0 100%
slidge/core/dispatcher/muc/owner.py MucOwnerMixin.on_muc_owner_query 13 0 0 100%
slidge/core/dispatcher/muc/owner.py MucOwnerMixin.on_muc_owner_set 23 1 0 96%
slidge/core/dispatcher/muc/owner.py (no function) 11 0 0 100%
slidge/core/dispatcher/muc/ping.py PingMixin.__init__ 4 0 0 100%
slidge/core/dispatcher/muc/ping.py PingMixin.__handle_ping 17 10 0 41%
slidge/core/dispatcher/muc/ping.py PingMixin.__handle_muc_ping 3 0 0 100%
slidge/core/dispatcher/muc/ping.py (no function) 11 0 2 100%
slidge/core/dispatcher/presence.py _IsDirectedAtComponent.__init__ 1 0 0 100%
slidge/core/dispatcher/presence.py PresenceHandlerMixin.__init__ 7 0 0 100%
slidge/core/dispatcher/presence.py PresenceHandlerMixin.__get_contact 6 0 0 100%
slidge/core/dispatcher/presence.py PresenceHandlerMixin._handle_subscribe 8 3 0 62%
slidge/core/dispatcher/presence.py PresenceHandlerMixin._handle_unsubscribe 9 9 0 0%
slidge/core/dispatcher/presence.py PresenceHandlerMixin._handle_subscribed 5 2 0 60%
slidge/core/dispatcher/presence.py PresenceHandlerMixin._handle_unsubscribed 7 2 0 71%
slidge/core/dispatcher/presence.py PresenceHandlerMixin._handle_probe 11 0 0 100%
slidge/core/dispatcher/presence.py PresenceHandlerMixin.on_presence 41 3 0 93%
slidge/core/dispatcher/presence.py (no function) 25 0 0 100%
slidge/core/dispatcher/registration.py RegistrationMixin.__init__ 9 0 0 100%
slidge/core/dispatcher/registration.py RegistrationMixin.get_user 1 0 0 100%
slidge/core/dispatcher/registration.py RegistrationMixin._user_get 3 0 0 100%
slidge/core/dispatcher/registration.py RegistrationMixin._user_validate 9 5 0 44%
slidge/core/dispatcher/registration.py RegistrationMixin._user_modify 7 7 0 0%
slidge/core/dispatcher/registration.py RegistrationMixin._on_user_register 5 1 0 80%
slidge/core/dispatcher/registration.py RegistrationMixin._on_user_unregister 1 0 0 100%
slidge/core/dispatcher/registration.py (no function) 17 0 2 100%
slidge/core/dispatcher/search.py SearchMixin.__init__ 5 0 0 100%
slidge/core/dispatcher/search.py SearchMixin.search_get_form 11 11 0 0%
slidge/core/dispatcher/search.py SearchMixin._search_query 11 11 0 0%
slidge/core/dispatcher/search.py SearchMixin._handle_gateway_iq 19 2 0 89%
slidge/core/dispatcher/search.py (no function) 10 0 2 100%
slidge/core/dispatcher/session_dispatcher.py SessionDispatcher.__init__ 2 0 0 100%
slidge/core/dispatcher/session_dispatcher.py SessionDispatcher.on_avatar_metadata_publish 6 2 0 67%
slidge/core/dispatcher/session_dispatcher.py SessionDispatcher.on_avatar_metadata_info 22 9 0 59%
slidge/core/dispatcher/session_dispatcher.py (no function) 21 0 2 100%
slidge/core/dispatcher/util.py DispatcherMixin.__init__ 1 0 0 100%
slidge/core/dispatcher/util.py DispatcherMixin._get_session 11 4 0 64%
slidge/core/dispatcher/util.py DispatcherMixin._get_session_from_jid 8 0 0 100%
slidge/core/dispatcher/util.py DispatcherMixin.get_muc_from_stanza 6 0 0 100%
slidge/core/dispatcher/util.py DispatcherMixin._xmpp_msg_id_to_legacy 13 6 0 54%
slidge/core/dispatcher/util.py DispatcherMixin._get_session_entity_thread 4 0 0 100%
slidge/core/dispatcher/util.py DispatcherMixin._xmpp_to_legacy_thread 12 1 0 92%
slidge/core/dispatcher/util.py _ignore 8 1 0 88%
slidge/core/dispatcher/util.py _get_entity 9 0 0 100%
slidge/core/dispatcher/util.py exceptions_to_xmpp_errors 2 0 0 100%
slidge/core/dispatcher/util.py exceptions_to_xmpp_errors.wrapped 12 0 0 100%
slidge/core/dispatcher/util.py (no function) 25 0 3 100%
slidge/core/dispatcher/vcard.py VCardMixin.__init__ 5 0 0 100%
slidge/core/dispatcher/vcard.py VCardMixin.on_get_vcard 8 0 0 100%
slidge/core/dispatcher/vcard.py VCardMixin.__vcard_temp_handler 4 0 0 100%
slidge/core/dispatcher/vcard.py VCardMixin.__fetch_user_avatar 9 1 0 89%
slidge/core/dispatcher/vcard.py VCardMixin.__handle_get_vcard_temp 36 3 0 92%
slidge/core/dispatcher/vcard.py VCardMixin.__handle_set_vcard_temp 19 7 0 63%
slidge/core/dispatcher/vcard.py (no function) 18 0 0 100%
slidge/core/gateway.py BaseGateway.__init__ 38 0 0 100%
slidge/core/gateway.py BaseGateway.__set_http 4 1 0 75%
slidge/core/gateway.py BaseGateway.__register_commands 12 1 0 92%
slidge/core/gateway.py BaseGateway.__exception_handler 10 6 0 40%
slidge/core/gateway.py BaseGateway.__register_slixmpp_events 8 0 0 100%
slidge/core/gateway.py BaseGateway.__register_slixmpp_api 3 0 0 100%
slidge/core/gateway.py BaseGateway.jid 1 0 0 100%
slidge/core/gateway.py BaseGateway.__on_session_start 21 21 0 0%
slidge/core/gateway.py BaseGateway.__add_component_to_mds_whitelist 23 11 0 52%
slidge/core/gateway.py BaseGateway.login_wrap 28 8 0 71%
slidge/core/gateway.py BaseGateway.fetch_user_avatar 6 3 0 50%
slidge/core/gateway.py BaseGateway._send 5 0 0 100%
slidge/core/gateway.py BaseGateway.raise_if_not_allowed_jid 2 0 0 100%
slidge/core/gateway.py BaseGateway.send_raw 12 2 0 83%
slidge/core/gateway.py BaseGateway.get_session_from_jid 4 0 0 100%
slidge/core/gateway.py BaseGateway.exception 14 14 0 0%
slidge/core/gateway.py BaseGateway.re_login 2 2 0 0%
slidge/core/gateway.py BaseGateway.re_login.w 3 3 0 0%
slidge/core/gateway.py BaseGateway.make_registration_form 23 22 0 4%
slidge/core/gateway.py BaseGateway.user_prevalidate 4 4 0 0%
slidge/core/gateway.py BaseGateway.validate 0 0 1 100%
slidge/core/gateway.py BaseGateway.validate_two_factor_code 0 0 1 100%
slidge/core/gateway.py BaseGateway.get_qr_text 0 0 1 100%
slidge/core/gateway.py BaseGateway.confirm_qr 4 4 0 0%
slidge/core/gateway.py BaseGateway.unregister_user 3 3 0 0%
slidge/core/gateway.py BaseGateway.unregister 5 5 0 0%
slidge/core/gateway.py BaseGateway.input 1 1 0 0%
slidge/core/gateway.py BaseGateway.send_qr 4 4 0 0%
slidge/core/gateway.py BaseGateway.shutdown 6 6 0 0%
slidge/core/gateway.py (no function) 111 0 2 100%
slidge/core/mixins/__init__.py StoredAttributeMixin.serialize_extra_attributes 1 0 0 100%
slidge/core/mixins/__init__.py StoredAttributeMixin.deserialize_extra_attributes 1 1 0 0%
slidge/core/mixins/__init__.py (no function) 13 0 0 100%
slidge/core/mixins/attachment.py AttachmentMixin.__init__ 2 0 0 100%
slidge/core/mixins/attachment.py AttachmentMixin.__upload 18 10 0 44%
slidge/core/mixins/attachment.py AttachmentMixin.__no_upload 35 11 0 69%
slidge/core/mixins/attachment.py AttachmentMixin.__get_url 51 21 0 59%
slidge/core/mixins/attachment.py AttachmentMixin.__set_sims 26 3 0 88%
slidge/core/mixins/attachment.py AttachmentMixin.__set_sfs 13 0 0 100%
slidge/core/mixins/attachment.py AttachmentMixin.__send_url 10 0 0 100%
slidge/core/mixins/attachment.py AttachmentMixin.send_file 30 3 0 90%
slidge/core/mixins/attachment.py AttachmentMixin.__send_body 3 0 0 100%
slidge/core/mixins/attachment.py AttachmentMixin.send_files 17 0 0 100%
slidge/core/mixins/attachment.py AttachmentMixin.__store_multi 10 0 0 100%
slidge/core/mixins/attachment.py get_thumbhash 11 1 0 91%
slidge/core/mixins/attachment.py (no function) 44 0 0 100%
slidge/core/mixins/avatar.py AvatarMixin.__init__ 5 0 0 100%
slidge/core/mixins/avatar.py AvatarMixin.__avatar_jid 1 0 0 100%
slidge/core/mixins/avatar.py AvatarMixin.avatar_id 1 0 0 100%
slidge/core/mixins/avatar.py AvatarMixin.avatar 1 0 0 100%
slidge/core/mixins/avatar.py AvatarMixin.avatar 4 0 0 100%
slidge/core/mixins/avatar.py AvatarMixin.avatar_pk 1 0 0 100%
slidge/core/mixins/avatar.py AvatarMixin.__get_uid 9 5 0 44%
slidge/core/mixins/avatar.py AvatarMixin.__set_avatar 17 6 0 65%
slidge/core/mixins/avatar.py AvatarMixin.__should_pubsub_broadcast 1 0 0 100%
slidge/core/mixins/avatar.py AvatarMixin._no_change 9 1 0 89%
slidge/core/mixins/avatar.py AvatarMixin.set_avatar 11 0 0 100%
slidge/core/mixins/avatar.py AvatarMixin.get_cached_avatar 3 0 0 100%
slidge/core/mixins/avatar.py AvatarMixin.get_avatar 7 0 0 100%
slidge/core/mixins/avatar.py AvatarMixin._post_avatar_update 1 1 0 0%
slidge/core/mixins/avatar.py AvatarMixin.__get_cached_avatar_id 4 1 0 75%
slidge/core/mixins/avatar.py AvatarMixin._get_cached_avatar_id 0 0 1 100%
slidge/core/mixins/avatar.py AvatarMixin.avatar_wrap_update_info 18 6 0 67%
slidge/core/mixins/avatar.py AvatarMixin._set_avatar_from_store 6 6 0 0%
slidge/core/mixins/avatar.py (no function) 35 0 2 100%
slidge/core/mixins/base.py Base.user_jid 1 1 0 0%
slidge/core/mixins/base.py Base.user_pk 1 0 0 100%
slidge/core/mixins/base.py BaseSender._send 0 0 1 100%
slidge/core/mixins/base.py (no function) 17 0 3 100%
slidge/core/mixins/db.py UpdateInfoMixin.__init__ 2 0 0 100%
slidge/core/mixins/db.py UpdateInfoMixin.updating_info 3 0 0 100%
slidge/core/mixins/db.py (no function) 5 0 0 100%
slidge/core/mixins/disco.py BaseDiscoMixin._get_disco_name 3 1 0 67%
slidge/core/mixins/disco.py BaseDiscoMixin.features 1 1 0 0%
slidge/core/mixins/disco.py BaseDiscoMixin.extended_features 1 1 0 0%
slidge/core/mixins/disco.py BaseDiscoMixin.get_disco_info 8 0 0 100%
slidge/core/mixins/disco.py BaseDiscoMixin.get_caps_ver 4 0 0 100%
slidge/core/mixins/disco.py ChatterDiscoMixin.features 21 0 0 100%
slidge/core/mixins/disco.py ChatterDiscoMixin.extended_features 7 0 0 100%
slidge/core/mixins/disco.py ContactAccountDiscoMixin.get_disco_info 9 0 0 100%
slidge/core/mixins/disco.py (no function) 33 0 0 100%
slidge/core/mixins/lock.py NamedLockMixin.__init__ 2 0 0 100%
slidge/core/mixins/lock.py NamedLockMixin.lock 13 0 0 100%
slidge/core/mixins/lock.py NamedLockMixin.get_lock 1 0 0 100%
slidge/core/mixins/lock.py (no function) 10 0 0 100%
slidge/core/mixins/message.py ChatStateMixin.__init__ 2 0 0 100%
slidge/core/mixins/message.py ChatStateMixin._chat_state 6 6 0 0%
slidge/core/mixins/message.py ChatStateMixin.active 1 1 0 0%
slidge/core/mixins/message.py ChatStateMixin.composing 1 1 0 0%
slidge/core/mixins/message.py ChatStateMixin.paused 1 1 0 0%
slidge/core/mixins/message.py ChatStateMixin.inactive 1 1 0 0%
slidge/core/mixins/message.py ChatStateMixin.gone 1 1 0 0%
slidge/core/mixins/message.py MarkerMixin._make_marker 3 0 0 100%
slidge/core/mixins/message.py MarkerMixin.ack 1 1 0 0%
slidge/core/mixins/message.py MarkerMixin.received 4 0 0 100%
slidge/core/mixins/message.py MarkerMixin.displayed 3 0 0 100%
slidge/core/mixins/message.py MarkerMixin.__send_mds 16 3 0 81%
slidge/core/mixins/message.py CarbonMessageMixin._privileged_send 13 2 0 85%
slidge/core/mixins/message.py InviteMixin.invite_to 7 1 0 86%
slidge/core/mixins/message.py (no function) 36 0 2 100%
slidge/core/mixins/message_maker.py MessageMaker._make_message 24 1 0 96%
slidge/core/mixins/message_maker.py MessageMaker._set_msg_id 9 0 0 100%
slidge/core/mixins/message_maker.py MessageMaker._legacy_to_xmpp 1 0 0 100%
slidge/core/mixins/message_maker.py MessageMaker._add_delay 9 0 0 100%
slidge/core/mixins/message_maker.py MessageMaker._add_reply_to 24 6 0 75%
slidge/core/mixins/message_maker.py MessageMaker._add_link_previews 8 0 0 100%
slidge/core/mixins/message_maker.py (no function) 24 0 2 100%
slidge/core/mixins/message_text.py TextMessageMixin.__default_hints 6 1 0 83%
slidge/core/mixins/message_text.py TextMessageMixin._replace_id 3 0 0 100%
slidge/core/mixins/message_text.py TextMessageMixin.send_text 12 3 0 75%
slidge/core/mixins/message_text.py TextMessageMixin.correct 1 0 0 100%
slidge/core/mixins/message_text.py TextMessageMixin.react 6 0 0 100%
slidge/core/mixins/message_text.py TextMessageMixin.retract 5 0 0 100%
slidge/core/mixins/message_text.py (no function) 13 0 0 100%
slidge/core/mixins/presence.py PresenceMixin.__init__ 3 0 0 100%
slidge/core/mixins/presence.py PresenceMixin.__update_last_seen_fallback 2 1 0 50%
slidge/core/mixins/presence.py PresenceMixin._get_last_presence 3 0 0 100%
slidge/core/mixins/presence.py PresenceMixin._store_last_presence 4 0 0 100%
slidge/core/mixins/presence.py PresenceMixin._make_presence 28 3 0 89%
slidge/core/mixins/presence.py PresenceMixin.send_last_presence 7 0 0 100%
slidge/core/mixins/presence.py PresenceMixin.online 4 2 0 50%
slidge/core/mixins/presence.py PresenceMixin.away 4 2 0 50%
slidge/core/mixins/presence.py PresenceMixin.extended_away 4 2 0 50%
slidge/core/mixins/presence.py PresenceMixin.busy 4 2 0 50%
slidge/core/mixins/presence.py PresenceMixin.offline 4 2 0 50%
slidge/core/mixins/presence.py get_last_seen_fallback 4 0 0 100%
slidge/core/mixins/presence.py (no function) 26 0 0 100%
slidge/core/mixins/recipient.py ReactionRecipientMixin.restricted_emoji_extended_feature 11 0 0 100%
slidge/core/mixins/recipient.py ReactionRecipientMixin.available_emojis 1 0 0 100%
slidge/core/mixins/recipient.py ThreadRecipientMixin.create_thread 1 0 0 100%
slidge/core/mixins/recipient.py (no function) 10 0 2 100%
slidge/core/pubsub.py PepAvatar.__init__ 3 0 0 100%
slidge/core/pubsub.py PepAvatar.data 5 0 0 100%
slidge/core/pubsub.py PepAvatar.set_avatar_from_cache 5 0 0 100%
slidge/core/pubsub.py PepNick.__init__ 5 0 0 100%
slidge/core/pubsub.py PubSubComponent.__init__ 2 0 0 100%
slidge/core/pubsub.py PubSubComponent.plugin_init 9 0 0 100%
slidge/core/pubsub.py PubSubComponent.__get_features 10 0 0 100%
slidge/core/pubsub.py PubSubComponent.on_presence_available 24 12 0 50%
slidge/core/pubsub.py PubSubComponent.broadcast_vcard_event 5 0 0 100%
slidge/core/pubsub.py PubSubComponent.__get_contact 2 0 0 100%
slidge/core/pubsub.py PubSubComponent._get_authorized_avatar 12 6 0 50%
slidge/core/pubsub.py PubSubComponent._get_authorized_nick 7 3 0 57%
slidge/core/pubsub.py PubSubComponent.__reply_with 8 3 0 62%
slidge/core/pubsub.py PubSubComponent._get_avatar_data 2 0 0 100%
slidge/core/pubsub.py PubSubComponent._get_avatar_metadata 2 2 0 0%
slidge/core/pubsub.py PubSubComponent._get_vcard 6 0 0 100%
slidge/core/pubsub.py PubSubComponent._reply_with_payload 8 0 0 100%
slidge/core/pubsub.py PubSubComponent.__broadcast 28 5 0 82%
slidge/core/pubsub.py PubSubComponent.broadcast_avatar 6 0 0 100%
slidge/core/pubsub.py PubSubComponent.broadcast_nick 4 0 0 100%
slidge/core/pubsub.py (no function) 54 0 3 100%
slidge/core/session.py BaseSession.__init__ 11 0 0 100%
slidge/core/session.py BaseSession.user 1 0 0 100%
slidge/core/session.py BaseSession.http 1 0 0 100%
slidge/core/session.py BaseSession.__remove_task 2 0 0 100%
slidge/core/session.py BaseSession.create_task 5 0 0 100%
slidge/core/session.py BaseSession.cancel_all_tasks 2 1 0 50%
slidge/core/session.py BaseSession.login 0 0 1 100%
slidge/core/session.py BaseSession.logout 0 0 1 100%
slidge/core/session.py BaseSession.on_text 0 0 1 100%
slidge/core/session.py BaseSession.on_file 0 0 1 100%
slidge/core/session.py BaseSession.on_sticker 0 0 1 100%
slidge/core/session.py BaseSession.on_active 0 0 1 100%
slidge/core/session.py BaseSession.on_inactive 0 0 1 100%
slidge/core/session.py BaseSession.on_composing 0 0 1 100%
slidge/core/session.py BaseSession.on_paused 0 0 1 100%
slidge/core/session.py BaseSession.on_displayed 0 0 1 100%
slidge/core/session.py BaseSession.on_correct 0 0 1 100%
slidge/core/session.py BaseSession.on_react 0 0 1 100%
slidge/core/session.py BaseSession.on_retract 0 0 1 100%
slidge/core/session.py BaseSession.on_presence 0 0 1 100%
slidge/core/session.py BaseSession.on_search 0 0 1 100%
slidge/core/session.py BaseSession.on_avatar 0 0 1 100%
slidge/core/session.py BaseSession.on_moderate 0 0 1 100%
slidge/core/session.py BaseSession.on_create_group 0 0 1 100%
slidge/core/session.py BaseSession.on_invitation 1 1 0 0%
slidge/core/session.py BaseSession.on_leave_group 0 0 1 100%
slidge/core/session.py BaseSession.__reset_ready 1 0 0 100%
slidge/core/session.py BaseSession.logged 1 0 0 100%
slidge/core/session.py BaseSession.logged 7 1 0 86%
slidge/core/session.py BaseSession.__repr__ 1 1 0 0%
slidge/core/session.py BaseSession.shutdown 5 5 0 0%
slidge/core/session.py BaseSession.legacy_to_xmpp_msg_id 1 0 0 100%
slidge/core/session.py BaseSession.xmpp_to_legacy_msg_id 1 0 0 100%
slidge/core/session.py BaseSession.raise_if_not_logged 2 1 0 50%
slidge/core/session.py BaseSession._from_user_or_none 7 0 0 100%
slidge/core/session.py BaseSession.from_user 1 0 0 100%
slidge/core/session.py BaseSession.from_stanza 1 0 0 100%
slidge/core/session.py BaseSession.from_jid 5 0 0 100%
slidge/core/session.py BaseSession.kill_by_jid 17 4 0 76%
slidge/core/session.py BaseSession.__ack 2 2 0 0%
slidge/core/session.py BaseSession.send_gateway_status 2 0 0 100%
slidge/core/session.py BaseSession.send_cached_presence 4 2 0 50%
slidge/core/session.py BaseSession.send_gateway_message 1 0 0 100%
slidge/core/session.py BaseSession.send_gateway_invite 1 0 0 100%
slidge/core/session.py BaseSession.input 1 1 0 0%
slidge/core/session.py BaseSession.send_qr 1 1 0 0%
slidge/core/session.py BaseSession.re_login 1 1 0 0%
slidge/core/session.py BaseSession.get_contact_or_group_or_participant 16 1 0 94%
slidge/core/session.py BaseSession.__get_muc_or_participant 6 2 0 67%
slidge/core/session.py BaseSession.wait_for_ready 6 2 0 67%
slidge/core/session.py BaseSession.legacy_module_data_update 4 4 0 0%
slidge/core/session.py BaseSession.legacy_module_data_set 4 4 0 0%
slidge/core/session.py BaseSession.legacy_module_data_clear 4 4 0 0%
slidge/core/session.py (no function) 108 0 4 100%
slidge/db/__init__.py (no function) 3 0 0 100%
slidge/db/alembic/__init__.py (no function) 0 0 0 100%
slidge/db/alembic/env.py run_migrations_offline 4 4 0 0%
slidge/db/alembic/env.py run_migrations_online 8 8 0 0%
slidge/db/alembic/env.py (no function) 10 10 0 0%
slidge/db/alembic/old_user_store.py EncryptedShelf.__init__ 2 2 0 0%
slidge/db/alembic/old_user_store.py EncryptedShelf.__getitem__ 8 8 0 0%
slidge/db/alembic/old_user_store.py EncryptedShelf.__setitem__ 6 6 0 0%
slidge/db/alembic/old_user_store.py GatewayUser.__hash__ 1 1 0 0%
slidge/db/alembic/old_user_store.py GatewayUser.__repr__ 1 1 0 0%
slidge/db/alembic/old_user_store.py GatewayUser.__post_init__ 2 2 0 0%
slidge/db/alembic/old_user_store.py GatewayUser.jid 1 1 0 0%
slidge/db/alembic/old_user_store.py GatewayUser.get 1 1 0 0%
slidge/db/alembic/old_user_store.py UserStore.__init__ 1 1 0 0%
slidge/db/alembic/old_user_store.py UserStore.set_file 9 9 0 0%
slidge/db/alembic/old_user_store.py UserStore.get_all 1 1 0 0%
slidge/db/alembic/old_user_store.py UserStore.commit 2 2 0 0%
slidge/db/alembic/old_user_store.py UserStore.get 4 4 0 0%
slidge/db/alembic/old_user_store.py UserStore.get_by_jid 1 1 0 0%
slidge/db/alembic/old_user_store.py UserStore.get_by_stanza 1 1 0 0%
slidge/db/alembic/old_user_store.py UserStore.close 2 2 0 0%
slidge/db/alembic/old_user_store.py (no function) 45 45 0 0%
slidge/db/avatar.py CachedAvatar.data 1 1 0 0%
slidge/db/avatar.py CachedAvatar.path 1 0 0 100%
slidge/db/avatar.py CachedAvatar.from_store 1 0 0 100%
slidge/db/avatar.py AvatarCache.__init__ 1 0 0 100%
slidge/db/avatar.py AvatarCache.set_dir 9 5 0 44%
slidge/db/avatar.py AvatarCache.close 1 1 0 0%
slidge/db/avatar.py AvatarCache.__get_http_headers 7 0 0 100%
slidge/db/avatar.py AvatarCache.__download 5 0 0 100%
slidge/db/avatar.py AvatarCache.__is_modified 2 0 0 100%
slidge/db/avatar.py AvatarCache.url_modified 5 1 0 80%
slidge/db/avatar.py AvatarCache.get_by_pk 3 0 0 100%
slidge/db/avatar.py AvatarCache._get_image 5 1 0 80%
slidge/db/avatar.py AvatarCache.convert_or_get 35 2 0 94%
slidge/db/avatar.py (no function) 56 0 0 100%
slidge/db/meta.py JIDType.process_bind_param 3 1 0 67%
slidge/db/meta.py JIDType.process_result_value 3 0 0 100%
slidge/db/meta.py JSONEncodedDict.process_bind_param 3 0 0 100%
slidge/db/meta.py JSONEncodedDict.process_result_value 3 0 0 100%
slidge/db/meta.py get_engine 2 2 0 0%
slidge/db/meta.py (no function) 21 0 0 100%
slidge/db/models.py GatewayUser.__repr__ 1 0 0 100%
slidge/db/models.py GatewayUser.get 1 1 0 0%
slidge/db/models.py GatewayUser.registration_form 2 2 0 0%
slidge/db/models.py (no function) 185 0 0 100%
slidge/db/store.py EngineMixin.__init__ 1 0 0 100%
slidge/db/store.py EngineMixin.session 8 0 0 100%
slidge/db/store.py UpdatedMixin.__init__ 4 0 0 100%
slidge/db/store.py UpdatedMixin.get_by_pk 2 0 0 100%
slidge/db/store.py SlidgeStore.__init__ 11 0 0 100%
slidge/db/store.py UserStore.new 10 1 0 90%
slidge/db/store.py UserStore.update 5 0 0 100%
slidge/db/store.py UserStore.get_all 2 2 0 0%
slidge/db/store.py UserStore.get 2 0 0 100%
slidge/db/store.py UserStore.get_by_stanza 1 1 0 0%
slidge/db/store.py UserStore.delete 3 0 0 100%
slidge/db/store.py UserStore.set_avatar_hash 3 0 0 100%
slidge/db/store.py AvatarStore.get_by_url 2 0 0 100%
slidge/db/store.py AvatarStore.get_by_pk 2 0 0 100%
slidge/db/store.py AvatarStore.delete_by_pk 3 0 0 100%
slidge/db/store.py AvatarStore.get_all 2 0 0 100%
slidge/db/store.py SentStore.set_message 10 1 0 90%
slidge/db/store.py SentStore.get_xmpp_id 2 0 0 100%
slidge/db/store.py SentStore.get_legacy_id 2 0 0 100%
slidge/db/store.py SentStore.set_group_message 4 0 0 100%
slidge/db/store.py SentStore.get_group_xmpp_id 2 0 0 100%
slidge/db/store.py SentStore.get_group_legacy_id 2 2 0 0%
slidge/db/store.py SentStore.set_thread 4 0 0 100%
slidge/db/store.py SentStore.get_legacy_thread 2 0 0 100%
slidge/db/store.py SentStore.was_sent_by_user 2 0 0 100%
slidge/db/store.py ContactStore.__init__ 4 0 0 100%
slidge/db/store.py ContactStore.get_all 2 0 0 100%
slidge/db/store.py ContactStore.get_by_jid 2 0 0 100%
slidge/db/store.py ContactStore.get_by_legacy_id 2 0 0 100%
slidge/db/store.py ContactStore.update_nick 3 0 0 100%
slidge/db/store.py ContactStore.get_presence 5 0 0 100%
slidge/db/store.py ContactStore.set_presence 3 0 0 100%
slidge/db/store.py ContactStore.reset_presence 3 0 0 100%
slidge/db/store.py ContactStore.set_avatar 3 0 0 100%
slidge/db/store.py ContactStore.get_avatar_legacy_id 5 1 0 80%
slidge/db/store.py ContactStore.update 21 0 0 100%
slidge/db/store.py ContactStore.set_vcard 3 0 0 100%
slidge/db/store.py ContactStore.add_to_sent 7 2 0 71%
slidge/db/store.py ContactStore.pop_sent_up_to 11 1 0 91%
slidge/db/store.py ContactStore.set_friend 3 0 0 100%
slidge/db/store.py ContactStore.set_added_to_roster 3 0 0 100%
slidge/db/store.py ContactStore.delete 3 3 0 0%
slidge/db/store.py ContactStore.set_client_type 3 3 0 0%
slidge/db/store.py MAMStore.__init__ 4 0 0 100%
slidge/db/store.py MAMStore.nuke_older_than 3 3 0 0%
slidge/db/store.py MAMStore.add_message 18 0 0 100%
slidge/db/store.py MAMStore.get_messages 32 5 0 84%
slidge/db/store.py MAMStore.get_first 5 0 0 100%
slidge/db/store.py MAMStore.get_last 5 1 0 80%
slidge/db/store.py MAMStore.get_first_and_last 9 0 0 100%
slidge/db/store.py MAMStore.get_most_recent_with_legacy_id 5 0 0 100%
slidge/db/store.py MAMStore.get_least_recent_with_legacy_id_after 4 0 0 100%
slidge/db/store.py MAMStore.get_by_legacy_id 2 2 0 0%
slidge/db/store.py MultiStore.get_xmpp_ids 5 0 0 100%
slidge/db/store.py MultiStore.set_xmpp_ids 15 1 0 93%
slidge/db/store.py MultiStore.get_legacy_id 5 0 0 100%
slidge/db/store.py AttachmentStore.get_url 2 0 0 100%
slidge/db/store.py AttachmentStore.set_url 7 1 0 86%
slidge/db/store.py AttachmentStore.get_sims 2 0 0 100%
slidge/db/store.py AttachmentStore.set_sims 3 0 0 100%
slidge/db/store.py AttachmentStore.get_sfs 2 0 0 100%
slidge/db/store.py AttachmentStore.set_sfs 3 0 0 100%
slidge/db/store.py AttachmentStore.remove 3 3 0 0%
slidge/db/store.py RoomStore.__init__ 4 0 0 100%
slidge/db/store.py RoomStore.set_avatar 3 0 0 100%
slidge/db/store.py RoomStore.get_avatar_legacy_id 5 5 0 0%
slidge/db/store.py RoomStore.get_by_jid 4 1 0 75%
slidge/db/store.py RoomStore.get_by_legacy_id 2 0 0 100%
slidge/db/store.py RoomStore.update_subject_setter 3 3 0 0%
slidge/db/store.py RoomStore.update 19 0 0 100%
slidge/db/store.py RoomStore.update_subject_date 3 0 0 100%
slidge/db/store.py RoomStore.update_subject 3 3 0 0%
slidge/db/store.py RoomStore.update_description 3 3 0 0%
slidge/db/store.py RoomStore.update_name 3 0 0 100%
slidge/db/store.py RoomStore.update_n_participants 3 3 0 0%
slidge/db/store.py RoomStore.update_user_nick 3 0 0 100%
slidge/db/store.py RoomStore.delete 4 0 0 100%
slidge/db/store.py RoomStore.set_resource 3 0 0 100%
slidge/db/store.py RoomStore.nickname_is_available 2 0 0 100%
slidge/db/store.py RoomStore.set_participants_filled 3 0 0 100%
slidge/db/store.py RoomStore.set_history_filled 3 0 0 100%
slidge/db/store.py RoomStore.get_all 2 0 0 100%
slidge/db/store.py RoomStore.get_all_jid_and_names 2 0 0 100%
slidge/db/store.py ParticipantStore.__init__ 6 0 0 100%
slidge/db/store.py ParticipantStore.add 8 0 0 100%
slidge/db/store.py ParticipantStore.get_by_nickname 2 0 0 100%
slidge/db/store.py ParticipantStore.get_by_resource 2 0 0 100%
slidge/db/store.py ParticipantStore.get_by_contact 2 0 0 100%
slidge/db/store.py ParticipantStore.get_all 5 1 0 80%
slidge/db/store.py ParticipantStore.get_for_contact 2 0 0 100%
slidge/db/store.py ParticipantStore.update 3 0 0 100%
slidge/db/store.py ParticipantStore.add_hat 8 1 0 88%
slidge/db/store.py ParticipantStore.set_presence_sent 3 0 0 100%
slidge/db/store.py ParticipantStore.set_affiliation 3 0 0 100%
slidge/db/store.py ParticipantStore.set_role 3 0 0 100%
slidge/db/store.py ParticipantStore.set_hats 11 2 0 82%
slidge/db/store.py ParticipantStore.delete 2 0 0 100%
slidge/db/store.py ParticipantStore.get_count 2 2 0 0%
slidge/db/store.py BobStore.__init__ 3 0 0 100%
slidge/db/store.py BobStore.__split_cid 1 0 0 100%
slidge/db/store.py BobStore.__get_condition 6 2 0 67%
slidge/db/store.py BobStore.get 6 0 0 100%
slidge/db/store.py BobStore.get_sticker 4 0 0 100%
slidge/db/store.py BobStore.get_bob 9 6 0 33%
slidge/db/store.py BobStore.del_bob 11 11 0 0%
slidge/db/store.py BobStore.set_bob 26 8 0 69%
slidge/db/store.py (no function) 150 0 4 100%
slidge/group/__init__.py (no function) 5 0 0 100%
slidge/group/archive.py MessageArchive.__init__ 2 0 0 100%
slidge/group/archive.py MessageArchive.add 15 1 0 93%
slidge/group/archive.py MessageArchive.__iter__ 1 1 0 0%
slidge/group/archive.py MessageArchive.__to_bound 1 0 0 100%
slidge/group/archive.py MessageArchive.get_hole_bounds 14 0 0 100%
slidge/group/archive.py MessageArchive.get_all 2 0 0 100%
slidge/group/archive.py MessageArchive.send_metadata 8 0 0 100%
slidge/group/archive.py archivable 9 1 0 89%
slidge/group/archive.py (no function) 21 0 2 100%
slidge/group/bookmarks.py LegacyBookmarks.__init__ 11 0 0 100%
slidge/group/bookmarks.py LegacyBookmarks.user_nick 1 0 0 100%
slidge/group/bookmarks.py LegacyBookmarks.user_nick 1 0 0 100%
slidge/group/bookmarks.py LegacyBookmarks.__iter__ 2 0 0 100%
slidge/group/bookmarks.py LegacyBookmarks.__repr__ 1 1 0 0%
slidge/group/bookmarks.py LegacyBookmarks.legacy_id_to_jid_local_part 1 0 0 100%
slidge/group/bookmarks.py LegacyBookmarks.jid_local_part_to_legacy_id 1 0 0 100%
slidge/group/bookmarks.py LegacyBookmarks.legacy_id_to_jid_username 1 0 0 100%
slidge/group/bookmarks.py LegacyBookmarks.jid_username_to_legacy_id 1 0 0 100%
slidge/group/bookmarks.py LegacyBookmarks.by_jid 11 2 0 82%
slidge/group/bookmarks.py LegacyBookmarks.by_jid_only_if_exists 5 0 0 100%
slidge/group/bookmarks.py LegacyBookmarks.by_legacy_id 9 2 0 78%
slidge/group/bookmarks.py LegacyBookmarks.__update_muc 18 5 0 72%
slidge/group/bookmarks.py LegacyBookmarks.fill 1 1 1 0%
slidge/group/bookmarks.py LegacyBookmarks.remove 5 0 0 100%
slidge/group/bookmarks.py (no function) 32 0 2 100%
slidge/group/participant.py strip_non_printable 3 3 0 0%
slidge/group/participant.py LegacyParticipant.__init__ 16 0 0 100%
slidge/group/participant.py LegacyParticipant.contact_pk 3 0 0 100%
slidge/group/participant.py LegacyParticipant.user_jid 1 0 0 100%
slidge/group/participant.py LegacyParticipant.__repr__ 1 0 0 100%
slidge/group/participant.py LegacyParticipant.affiliation 1 0 0 100%
slidge/group/participant.py LegacyParticipant.affiliation 9 1 0 89%
slidge/group/participant.py LegacyParticipant.send_affiliation_change 8 1 0 88%
slidge/group/participant.py LegacyParticipant.role 1 0 0 100%
slidge/group/participant.py LegacyParticipant.role 9 2 0 78%
slidge/group/participant.py LegacyParticipant.set_hats 9 3 0 67%
slidge/group/participant.py LegacyParticipant.__update_jid 21 4 0 81%
slidge/group/participant.py LegacyParticipant.send_configuration_change 5 1 0 80%
slidge/group/participant.py LegacyParticipant.nickname 1 0 0 100%
slidge/group/participant.py LegacyParticipant.nickname 18 3 0 83%
slidge/group/participant.py LegacyParticipant._make_presence 28 2 0 93%
slidge/group/participant.py LegacyParticipant.DISCO_NAME 1 0 0 100%
slidge/group/participant.py LegacyParticipant.__send_presence_if_needed 6 0 0 100%
slidge/group/participant.py LegacyParticipant.__occupant_id 7 0 0 100%
slidge/group/participant.py LegacyParticipant._send 24 1 0 96%
slidge/group/participant.py LegacyParticipant.mucadmin_item 11 1 0 91%
slidge/group/participant.py LegacyParticipant.__add_nick_element 4 0 0 100%
slidge/group/participant.py LegacyParticipant._get_last_presence 4 0 0 100%
slidge/group/participant.py LegacyParticipant.send_initial_presence 17 4 0 76%
slidge/group/participant.py LegacyParticipant.leave 1 1 0 0%
slidge/group/participant.py LegacyParticipant.kick 1 0 0 100%
slidge/group/participant.py LegacyParticipant.ban 1 1 0 0%
slidge/group/participant.py LegacyParticipant.get_disco_info 3 1 0 67%
slidge/group/participant.py LegacyParticipant.moderate 13 1 0 92%
slidge/group/participant.py LegacyParticipant.set_room_subject 10 0 0 100%
slidge/group/participant.py LegacyParticipant.from_store 16 1 0 94%
slidge/group/participant.py (no function) 68 0 2 100%
slidge/group/room.py LegacyMUC.__init__ 20 0 0 100%
slidge/group/room.py LegacyMUC.n_participants 1 0 0 100%
slidge/group/room.py LegacyMUC.n_participants 7 3 0 57%
slidge/group/room.py LegacyMUC.user_jid 1 0 0 100%
slidge/group/room.py LegacyMUC._set_logger_name 1 0 0 100%
slidge/group/room.py LegacyMUC.__repr__ 1 0 0 100%
slidge/group/room.py LegacyMUC.subject_date 1 0 0 100%
slidge/group/room.py LegacyMUC.subject_date 5 0 0 100%
slidge/group/room.py LegacyMUC.__send_configuration_change 2 0 0 100%
slidge/group/room.py LegacyMUC.user_nick 1 0 0 100%
slidge/group/room.py LegacyMUC.user_nick 3 0 0 100%
slidge/group/room.py LegacyMUC.add_user_resource 3 0 0 100%
slidge/group/room.py LegacyMUC.get_user_resources 1 0 0 100%
slidge/group/room.py LegacyMUC.remove_user_resource 3 0 0 100%
slidge/group/room.py LegacyMUC.__fill_participants 8 1 0 88%
slidge/group/room.py LegacyMUC.get_participants 18 0 0 100%
slidge/group/room.py LegacyMUC.__fill_history 19 2 0 89%
slidge/group/room.py LegacyMUC.name 1 0 0 100%
slidge/group/room.py LegacyMUC.name 9 1 0 89%
slidge/group/room.py LegacyMUC.description 1 0 0 100%
slidge/group/room.py LegacyMUC.description 8 3 0 62%
slidge/group/room.py LegacyMUC.on_presence_unavailable 11 11 0 0%
slidge/group/room.py LegacyMUC.update_info 0 0 1 100%
slidge/group/room.py LegacyMUC.backfill 0 0 1 100%
slidge/group/room.py LegacyMUC.fill_participants 1 0 0 100%
slidge/group/room.py LegacyMUC.subject 1 0 0 100%
slidge/group/room.py LegacyMUC.subject 8 3 0 62%
slidge/group/room.py LegacyMUC.is_anonymous 1 0 0 100%
slidge/group/room.py LegacyMUC.subject_setter 1 0 0 100%
slidge/group/room.py LegacyMUC.subject_setter 12 3 0 75%
slidge/group/room.py LegacyMUC.__get_subject_setter_participant 3 1 0 67%
slidge/group/room.py LegacyMUC.features 8 2 0 75%
slidge/group/room.py LegacyMUC.extended_features 31 4 0 87%
slidge/group/room.py LegacyMUC.shutdown 8 8 0 0%
slidge/group/room.py LegacyMUC.user_full_jids 4 0 0 100%
slidge/group/room.py LegacyMUC.user_muc_jid 3 0 0 100%
slidge/group/room.py LegacyMUC._legacy_to_xmpp 1 1 0 0%
slidge/group/room.py LegacyMUC.echo 16 0 0 100%
slidge/group/room.py LegacyMUC._get_cached_avatar_id 3 1 0 67%
slidge/group/room.py LegacyMUC._post_avatar_update 6 1 0 83%
slidge/group/room.py LegacyMUC._send_room_presence 9 0 0 100%
slidge/group/room.py LegacyMUC.join 41 6 0 85%
slidge/group/room.py LegacyMUC.get_user_participant 3 0 0 100%
slidge/group/room.py LegacyMUC.__store_participant 5 0 0 100%
slidge/group/room.py LegacyMUC.get_participant 16 1 0 94%
slidge/group/room.py LegacyMUC.get_system_participant 1 0 0 100%
slidge/group/room.py LegacyMUC.get_participant_by_contact 23 0 0 100%
slidge/group/room.py LegacyMUC.get_participant_by_legacy_id 5 2 0 60%
slidge/group/room.py LegacyMUC.remove_participant 14 2 0 86%
slidge/group/room.py LegacyMUC.rename_participant 9 2 0 78%
slidge/group/room.py LegacyMUC.__old_school_history 10 2 0 80%
slidge/group/room.py LegacyMUC.send_mam 52 2 0 96%
slidge/group/room.py LegacyMUC.send_mam_metadata 2 0 0 100%
slidge/group/room.py LegacyMUC.kick_resource 8 0 0 100%
slidge/group/room.py LegacyMUC.add_to_bookmarks 35 18 0 49%
slidge/group/room.py LegacyMUC.on_avatar 0 0 1 100%
slidge/group/room.py LegacyMUC.on_set_affiliation 0 0 1 100%
slidge/group/room.py LegacyMUC.on_kick 0 0 1 100%
slidge/group/room.py LegacyMUC.on_set_config 0 0 1 100%
slidge/group/room.py LegacyMUC.on_destroy_request 0 0 1 100%
slidge/group/room.py LegacyMUC.parse_mentions 17 2 0 88%
slidge/group/room.py LegacyMUC.on_set_subject 0 0 1 100%
slidge/group/room.py LegacyMUC.from_store 24 1 0 96%
slidge/group/room.py set_origin_id 3 0 0 100%
slidge/group/room.py int_or_none 4 0 0 100%
slidge/group/room.py equals_zero 3 1 0 67%
slidge/group/room.py str_to_datetime_or_none 6 2 0 67%
slidge/group/room.py bookmarks_form 8 0 0 100%
slidge/group/room.py (no function) 144 0 3 100%
slidge/main.py MainConfig.update_dynamic_defaults 7 2 0 71%
slidge/main.py get_configurator 7 0 0 100%
slidge/main.py get_parser 1 0 0 100%
slidge/main.py configure 7 7 0 0%
slidge/main.py handle_sigterm 2 2 0 0%
slidge/main.py main 53 53 0 0%
slidge/main.py (no function) 27 0 0 100%
slidge/migration.py remove_avatar_cache_v1 4 4 0 0%
slidge/migration.py get_alembic_cfg 3 3 0 0%
slidge/migration.py remove_resource_parts_from_users 6 6 0 0%
slidge/migration.py migrate 3 3 0 0%
slidge/migration.py main 3 3 0 0%
slidge/migration.py (no function) 19 1 0 95%
slidge/slixfix/__init__.py _handle_bob_iq 15 7 0 53%
slidge/slixfix/__init__.py session_bind 1 0 0 100%
slidge/slixfix/__init__.py reply 9 1 0 89%
slidge/slixfix/__init__.py (no function) 14 0 0 100%
slidge/slixfix/delivery_receipt.py DeliveryReceipt.__init__ 1 0 0 100%
slidge/slixfix/delivery_receipt.py DeliveryReceipt.ack 4 0 0 100%
slidge/slixfix/delivery_receipt.py DeliveryReceipt.make_ack 6 0 0 100%
slidge/slixfix/delivery_receipt.py DeliveryReceipt.requires_receipt 1 0 0 100%
slidge/slixfix/delivery_receipt.py (no function) 8 0 2 100%
slidge/slixfix/link_preview/__init__.py (no function) 3 0 0 100%
slidge/slixfix/link_preview/link_preview.py LinkPreview.plugin_init 1 0 0 100%
slidge/slixfix/link_preview/link_preview.py (no function) 8 0 0 100%
slidge/slixfix/link_preview/stanza.py LinkPreview._set_og 2 0 0 100%
slidge/slixfix/link_preview/stanza.py LinkPreview._get_og 4 0 0 100%
slidge/slixfix/link_preview/stanza.py LinkPreview.set_title 1 0 0 100%
slidge/slixfix/link_preview/stanza.py LinkPreview.get_title 1 0 0 100%
slidge/slixfix/link_preview/stanza.py LinkPreview.set_description 1 0 0 100%
slidge/slixfix/link_preview/stanza.py LinkPreview.get_description 1 0 0 100%
slidge/slixfix/link_preview/stanza.py LinkPreview.set_url 1 0 0 100%
slidge/slixfix/link_preview/stanza.py LinkPreview.get_url 1 0 0 100%
slidge/slixfix/link_preview/stanza.py LinkPreview.set_image 1 0 0 100%
slidge/slixfix/link_preview/stanza.py LinkPreview.get_image 1 0 0 100%
slidge/slixfix/link_preview/stanza.py LinkPreview.set_type 1 1 0 0%
slidge/slixfix/link_preview/stanza.py LinkPreview.get_type 1 0 0 100%
slidge/slixfix/link_preview/stanza.py LinkPreview.set_site_name 1 0 0 100%
slidge/slixfix/link_preview/stanza.py LinkPreview.get_site_name 1 0 0 100%
slidge/slixfix/link_preview/stanza.py LinkPreview.get_about 1 0 0 100%
slidge/slixfix/link_preview/stanza.py register_plugin 3 0 0 100%
slidge/slixfix/link_preview/stanza.py (no function) 39 0 0 100%
slidge/slixfix/roster.py YesSet.__contains__ 2 2 0 0%
slidge/slixfix/roster.py RosterBackend.__init__ 1 0 0 100%
slidge/slixfix/roster.py RosterBackend.entries 1 0 0 100%
slidge/slixfix/roster.py RosterBackend.save 1 0 0 100%
slidge/slixfix/roster.py RosterBackend.load 6 1 0 83%
slidge/slixfix/roster.py (no function) 13 0 2 100%
slidge/slixfix/xep_0077/__init__.py (no function) 4 0 0 100%
slidge/slixfix/xep_0077/register.py XEP_0077.plugin_init 15 1 0 93%
slidge/slixfix/xep_0077/register.py XEP_0077.plugin_end 2 2 0 0%
slidge/slixfix/xep_0077/register.py XEP_0077._user_get 1 1 0 0%
slidge/slixfix/xep_0077/register.py XEP_0077._user_remove 1 1 0 0%
slidge/slixfix/xep_0077/register.py XEP_0077._make_registration_form 14 14 0 0%
slidge/slixfix/xep_0077/register.py XEP_0077._user_validate 1 1 0 0%
slidge/slixfix/xep_0077/register.py XEP_0077._user_modify 1 1 0 0%
slidge/slixfix/xep_0077/register.py XEP_0077._handle_registration 35 16 0 54%
slidge/slixfix/xep_0077/register.py XEP_0077._send_form 2 1 0 50%
slidge/slixfix/xep_0077/register.py XEP_0077._force_registration 2 1 0 50%
slidge/slixfix/xep_0077/register.py XEP_0077._force_stream_feature 11 11 0 0%
slidge/slixfix/xep_0077/register.py XEP_0077._handle_register_feature 7 7 0 0%
slidge/slixfix/xep_0077/register.py XEP_0077.get_registration 6 6 0 0%
slidge/slixfix/xep_0077/register.py XEP_0077.cancel_registration 6 6 0 0%
slidge/slixfix/xep_0077/register.py XEP_0077.change_password 10 10 0 0%
slidge/slixfix/xep_0077/register.py _send_error 8 8 0 0%
slidge/slixfix/xep_0077/register.py (no function) 34 0 0 100%
slidge/slixfix/xep_0077/stanza.py Register.get_registered 2 2 0 0%
slidge/slixfix/xep_0077/stanza.py Register.get_remove 2 0 0 100%
slidge/slixfix/xep_0077/stanza.py Register.set_registered 3 3 0 0%
slidge/slixfix/xep_0077/stanza.py Register.set_remove 3 3 0 0%
slidge/slixfix/xep_0077/stanza.py Register.add_field 1 1 0 0%
slidge/slixfix/xep_0077/stanza.py Register.get_fields 5 5 0 0%
slidge/slixfix/xep_0077/stanza.py Register.set_fields 3 3 0 0%
slidge/slixfix/xep_0077/stanza.py Register.del_fields 2 2 0 0%
slidge/slixfix/xep_0077/stanza.py (no function) 23 0 0 100%
slidge/slixfix/xep_0100/__init__.py (no function) 3 0 0 100%
slidge/slixfix/xep_0100/gateway.py XEP_0100.plugin_init 11 2 0 82%
slidge/slixfix/xep_0100/gateway.py XEP_0100.plugin_end 5 5 0 0%
slidge/slixfix/xep_0100/gateway.py XEP_0100.get_user 1 0 0 100%
slidge/slixfix/xep_0100/gateway.py XEP_0100.on_user_unregister 3 0 0 100%
slidge/slixfix/xep_0100/gateway.py XEP_0100.on_user_register 2 2 0 0%
slidge/slixfix/xep_0100/gateway.py XEP_0100.add_component_to_roster 9 9 0 0%
slidge/slixfix/xep_0100/gateway.py XEP_0100._set_roster 4 4 0 0%
slidge/slixfix/xep_0100/gateway.py XEP_0100.on_presence_unsubscribe 4 4 0 0%
slidge/slixfix/xep_0100/gateway.py XEP_0100.on_message 8 2 0 75%
slidge/slixfix/xep_0100/gateway.py (no function) 22 0 0 100%
slidge/slixfix/xep_0100/stanza.py (no function) 7 0 0 100%
slidge/slixfix/xep_0153/__init__.py (no function) 4 0 0 100%
slidge/slixfix/xep_0153/stanza.py VCardTempUpdate.set_photo 3 1 0 67%
slidge/slixfix/xep_0153/stanza.py VCardTempUpdate.get_photo 4 1 0 75%
slidge/slixfix/xep_0153/stanza.py (no function) 9 0 0 100%
slidge/slixfix/xep_0153/vcard_avatar.py XEP_0153.plugin_init 1 0 0 100%
slidge/slixfix/xep_0153/vcard_avatar.py (no function) 12 0 0 100%
slidge/slixfix/xep_0264/__init__.py (no function) 3 0 0 100%
slidge/slixfix/xep_0264/stanza.py Thumbnail.get_width 1 1 0 0%
slidge/slixfix/xep_0264/stanza.py Thumbnail.get_height 1 1 0 0%
slidge/slixfix/xep_0264/stanza.py Thumbnail.set_width 1 0 0 100%
slidge/slixfix/xep_0264/stanza.py Thumbnail.set_height 1 0 0 100%
slidge/slixfix/xep_0264/stanza.py _int_or_none 4 4 0 0%
slidge/slixfix/xep_0264/stanza.py register_plugin 1 0 0 100%
slidge/slixfix/xep_0264/stanza.py (no function) 15 0 0 100%
slidge/slixfix/xep_0264/thumbnail.py XEP_0264.plugin_init 1 0 0 100%
slidge/slixfix/xep_0264/thumbnail.py (no function) 10 0 0 100%
slidge/slixfix/xep_0292/__init__.py (no function) 3 0 0 100%
slidge/slixfix/xep_0292/vcard4.py VCard4Provider.plugin_init 1 0 0 100%
slidge/slixfix/xep_0292/vcard4.py (no function) 8 0 0 100%
slidge/slixfix/xep_0313/__init__.py (no function) 5 0 0 100%
slidge/slixfix/xep_0313/mam.py XEP_0313.plugin_init 10 0 0 100%
slidge/slixfix/xep_0313/mam.py XEP_0313.retrieve 18 18 0 0%
slidge/slixfix/xep_0313/mam.py XEP_0313.retrieve.pre_cb 6 6 0 0%
slidge/slixfix/xep_0313/mam.py XEP_0313.retrieve.post_cb 4 4 0 0%
slidge/slixfix/xep_0313/mam.py XEP_0313.retrieve.wrapped_cb 5 5 0 0%
slidge/slixfix/xep_0313/mam.py XEP_0313.iterate 24 24 0 0%
slidge/slixfix/xep_0313/mam.py XEP_0313.iterate.pre_cb 6 6 0 0%
slidge/slixfix/xep_0313/mam.py XEP_0313.iterate.post_cb 4 4 0 0%
slidge/slixfix/xep_0313/mam.py XEP_0313._pre_mam_retrieve 15 15 0 0%
slidge/slixfix/xep_0313/mam.py XEP_0313.get_fields 5 5 0 0%
slidge/slixfix/xep_0313/mam.py XEP_0313.get_configuration_commands 3 3 0 0%
slidge/slixfix/xep_0313/mam.py XEP_0313.get_archive_metadata 4 4 0 0%
slidge/slixfix/xep_0313/mam.py (no function) 26 0 0 100%
slidge/slixfix/xep_0313/stanza.py MAM.setup 2 0 0 100%
slidge/slixfix/xep_0313/stanza.py MAM._setup_form 4 0 0 100%
slidge/slixfix/xep_0313/stanza.py MAM.get_fields 4 1 0 75%
slidge/slixfix/xep_0313/stanza.py MAM.get_start 5 1 0 80%
slidge/slixfix/xep_0313/stanza.py MAM.set_start 4 4 0 0%
slidge/slixfix/xep_0313/stanza.py MAM.get_end 5 1 0 80%
slidge/slixfix/xep_0313/stanza.py MAM.set_end 3 3 0 0%
slidge/slixfix/xep_0313/stanza.py MAM.get_with 5 1 0 80%
slidge/slixfix/xep_0313/stanza.py MAM.set_with 1 0 0 100%
slidge/slixfix/xep_0313/stanza.py MAM.set_custom_field 7 1 0 86%
slidge/slixfix/xep_0313/stanza.py MAM.get_custom_field 5 0 0 100%
slidge/slixfix/xep_0313/stanza.py MAM.set_before_id 1 1 0 0%
slidge/slixfix/xep_0313/stanza.py MAM.get_before_id 1 0 0 100%
slidge/slixfix/xep_0313/stanza.py MAM.set_after_id 1 1 0 0%
slidge/slixfix/xep_0313/stanza.py MAM.get_after_id 1 0 0 100%
slidge/slixfix/xep_0313/stanza.py MAM.set_ids 7 7 0 0%
slidge/slixfix/xep_0313/stanza.py MAM.get_ids 1 0 0 100%
slidge/slixfix/xep_0313/stanza.py MAM.get_results 1 0 0 100%
slidge/slixfix/xep_0313/stanza.py MAM.set_results 1 0 0 100%
slidge/slixfix/xep_0313/stanza.py MAM.del_results 1 1 0 0%
slidge/slixfix/xep_0313/stanza.py MAM.get_flip_page 1 0 0 100%
slidge/slixfix/xep_0313/stanza.py Fin.setup 2 0 0 100%
slidge/slixfix/xep_0313/stanza.py Fin.get_results 1 0 0 100%
slidge/slixfix/xep_0313/stanza.py Fin.set_results 1 0 0 100%
slidge/slixfix/xep_0313/stanza.py Fin.del_results 1 1 0 0%
slidge/slixfix/xep_0313/stanza.py Start.get_timestamp 4 1 0 75%
slidge/slixfix/xep_0313/stanza.py Start.set_timestamp 4 1 0 75%
slidge/slixfix/xep_0313/stanza.py End.get_timestamp 4 1 0 75%
slidge/slixfix/xep_0313/stanza.py End.set_timestamp 4 1 0 75%
slidge/slixfix/xep_0313/stanza.py (no function) 65 0 0 100%
slidge/slixfix/xep_0317/__init__.py (no function) 3 0 0 100%
slidge/slixfix/xep_0317/hats.py XEP_0317.plugin_init 1 0 0 100%
slidge/slixfix/xep_0317/hats.py (no function) 8 0 0 100%
slidge/slixfix/xep_0317/stanza.py Hats.add_hats 5 0 0 100%
slidge/slixfix/xep_0317/stanza.py register 2 0 0 100%
slidge/slixfix/xep_0317/stanza.py (no function) 13 0 0 100%
slidge/slixfix/xep_0356_old/__init__.py (no function) 5 0 0 100%
slidge/slixfix/xep_0356_old/privilege.py XEP_0356_OLD.plugin_init 5 2 0 60%
slidge/slixfix/xep_0356_old/privilege.py XEP_0356_OLD.plugin_end 1 1 0 0%
slidge/slixfix/xep_0356_old/privilege.py XEP_0356_OLD._handle_privilege 4 0 0 100%
slidge/slixfix/xep_0356_old/privilege.py XEP_0356_OLD.send_privileged_message 3 1 0 67%
slidge/slixfix/xep_0356_old/privilege.py XEP_0356_OLD._make_privileged_message 4 0 0 100%
slidge/slixfix/xep_0356_old/privilege.py XEP_0356_OLD._make_get_roster 1 1 0 0%
slidge/slixfix/xep_0356_old/privilege.py XEP_0356_OLD._make_set_roster 3 0 0 100%
slidge/slixfix/xep_0356_old/privilege.py XEP_0356_OLD.get_roster 5 5 0 0%
slidge/slixfix/xep_0356_old/privilege.py XEP_0356_OLD.set_roster 5 2 0 60%
slidge/slixfix/xep_0356_old/privilege.py (no function) 27 0 0 100%
slidge/slixfix/xep_0356_old/stanza.py PrivilegeOld.permission 3 3 0 0%
slidge/slixfix/xep_0356_old/stanza.py PrivilegeOld.roster 1 1 0 0%
slidge/slixfix/xep_0356_old/stanza.py PrivilegeOld.message 1 1 0 0%
slidge/slixfix/xep_0356_old/stanza.py PrivilegeOld.presence 1 1 0 0%
slidge/slixfix/xep_0356_old/stanza.py PrivilegeOld.add_perm 4 4 0 0%
slidge/slixfix/xep_0356_old/stanza.py register 3 0 0 100%
slidge/slixfix/xep_0356_old/stanza.py (no function) 19 0 0 100%
slidge/slixfix/xep_0424/__init__.py (no function) 3 0 0 100%
slidge/slixfix/xep_0424/retraction.py XEP_0424.plugin_init 2 0 0 100%
slidge/slixfix/xep_0424/retraction.py XEP_0424.session_bind 1 1 0 0%
slidge/slixfix/xep_0424/retraction.py XEP_0424.plugin_end 1 1 0 0%
slidge/slixfix/xep_0424/retraction.py XEP_0424._handle_retract_message 1 1 0 0%
slidge/slixfix/xep_0424/retraction.py XEP_0424.send_retraction 9 9 0 0%
slidge/slixfix/xep_0424/retraction.py (no function) 19 0 0 100%
slidge/slixfix/xep_0424/stanza.py register_plugins 3 0 0 100%
slidge/slixfix/xep_0424/stanza.py (no function) 14 0 0 100%
slidge/slixfix/xep_0490/__init__.py (no function) 5 0 0 100%
slidge/slixfix/xep_0490/mds.py XEP_0490.plugin_init 2 0 0 100%
slidge/slixfix/xep_0490/mds.py XEP_0490.flag_chat 3 3 0 0%
slidge/slixfix/xep_0490/mds.py XEP_0490.catch_up 1 1 0 0%
slidge/slixfix/xep_0490/mds.py (no function) 20 0 0 100%
slidge/slixfix/xep_0490/stanza.py register_plugin 2 0 0 100%
slidge/slixfix/xep_0490/stanza.py (no function) 10 0 0 100%
slidge/util/__init__.py (no function) 2 0 0 100%
slidge/util/archive_msg.py fix_namespaces 3 0 0 100%
slidge/util/archive_msg.py HistoryMessage.__init__ 15 0 0 100%
slidge/util/archive_msg.py HistoryMessage.stanza_component_ns 3 0 0 100%
slidge/util/archive_msg.py HistoryMessage.forwarded 4 0 0 100%
slidge/util/archive_msg.py (no function) 13 0 0 100%
slidge/util/conf.py Option.__init__ 3 0 0 100%
slidge/util/conf.py Option.doc 1 0 0 100%
slidge/util/conf.py Option.required 1 0 0 100%
slidge/util/conf.py Option.default 1 0 0 100%
slidge/util/conf.py Option.short 1 0 0 100%
slidge/util/conf.py Option.nargs 6 1 0 83%
slidge/util/conf.py Option.type 7 0 0 100%
slidge/util/conf.py Option.names 4 0 0 100%
slidge/util/conf.py Option.kwargs 13 0 0 100%
slidge/util/conf.py Option.name_to_env_var 1 0 0 100%
slidge/util/conf.py ConfigModule.__init__ 5 0 0 100%
slidge/util/conf.py ConfigModule._list_options 1 0 0 100%
slidge/util/conf.py ConfigModule.set_conf 43 2 0 95%
slidge/util/conf.py ConfigModule.options 4 0 0 100%
slidge/util/conf.py ConfigModule.add_options_to_parser 3 0 0 100%
slidge/util/conf.py ConfigModule.update_dynamic_defaults 1 0 0 100%
slidge/util/conf.py _is_optional 5 0 0 100%
slidge/util/conf.py _argv_to_option_name 1 0 0 100%
slidge/util/conf.py (no function) 40 0 0 100%
slidge/util/db.py (no function) 1 1 0 0%
slidge/util/test.py SlixTestPlus.setUp 2 0 0 100%
slidge/util/test.py SlixTestPlus.check 50 13 0 74%
slidge/util/test.py SlixTestPlus.next_sent 8 0 0 100%
slidge/util/test.py SlidgeTest.setUpClass 2 0 0 100%
slidge/util/test.py SlidgeTest.setUp 40 2 0 95%
slidge/util/test.py SlidgeTest.setUp.new_id 2 0 0 100%
slidge/util/test.py SlidgeTest.tearDown 7 2 0 71%
slidge/util/test.py SlidgeTest.setup_logged_session 26 0 0 100%
slidge/util/test.py SlidgeTest.tearDownClass 1 0 0 100%
slidge/util/test.py format_stanza 1 0 0 100%
slidge/util/test.py find_subclass 13 1 0 92%
slidge/util/test.py reset_subclasses 7 0 0 100%
slidge/util/test.py reset_commands 1 1 0 0%
slidge/util/test.py (no function) 51 0 0 100%
slidge/util/types.py LegacyAttachment.__post_init__ 2 1 0 50%
slidge/util/types.py (no function) 95 0 6 100%
slidge/util/util.py fix_suffix 19 19 0 0%
slidge/util/util.py SubclassableOnce.__init__ 7 0 0 100%
slidge/util/util.py SubclassableOnce.get_self_or_unique_subclass 4 0 0 100%
slidge/util/util.py SubclassableOnce.get_unique_subclass 4 0 0 100%
slidge/util/util.py SubclassableOnce.reset_subclass 5 0 0 100%
slidge/util/util.py is_valid_phone_number 6 1 0 83%
slidge/util/util.py strip_illegal_chars 1 0 0 100%
slidge/util/util.py addLoggingLevel 17 6 0 65%
slidge/util/util.py addLoggingLevel.logForLevel 2 1 0 50%
slidge/util/util.py addLoggingLevel.logToRoot 1 1 0 0%
slidge/util/util.py SlidgeLogger.trace 1 1 0 0%
slidge/util/util.py get_version 6 6 0 0%
slidge/util/util.py merge_resources 18 2 0 89%
slidge/util/util.py remove_emoji_variation_selector_16 1 0 0 100%
slidge/util/util.py deprecated 2 0 0 100%
slidge/util/util.py deprecated.wrapped 2 2 0 0%
slidge/util/util.py dict_to_named_tuple 1 0 0 100%
slidge/util/util.py replace_mentions 9 1 0 89%
slidge/util/util.py with_session 2 0 0 100%
slidge/util/util.py with_session.wrapped 2 0 0 100%
slidge/util/util.py timeit 2 0 0 100%
slidge/util/util.py timeit.wrapped 4 0 0 100%
slidge/util/util.py strip_leading_emoji 6 1 0 83%
slidge/util/util.py (no function) 52 5 2 90%
Total   8443 1708 111 80%

No items found using the specified filter.