Coverage for slidge / core / mixins / base.py: 89%
18 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-06 05:07 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-06 05:07 +0000
1from abc import ABC
2from typing import TYPE_CHECKING, Any
4from slixmpp import JID
6from ...util.types import AnySession, MessageOrPresenceTypeVar
8if TYPE_CHECKING:
9 from ..gateway import BaseGateway
12class Base(ABC):
13 session: AnySession = NotImplemented
14 xmpp: "BaseGateway" = NotImplemented
16 jid: JID = NotImplemented
17 name: str | None = NotImplemented
19 @property
20 def user_jid(self) -> JID:
21 return self.session.user_jid
23 @property
24 def user_pk(self) -> int:
25 return self.session.user_pk
28class BaseSender(Base):
29 is_participant: bool = NotImplemented
31 def _send(
32 self,
33 stanza: MessageOrPresenceTypeVar,
34 **send_kwargs: Any, # noqa:ANN401
35 ) -> MessageOrPresenceTypeVar:
36 raise NotImplementedError