diff --git a/gajim/common/structs.py b/gajim/common/structs.py index 86cd3f1168d81b9e64832020c0f52a4db8c56662..96a4a56fda3380956c92b680360db53d501093e0 100644 --- a/gajim/common/structs.py +++ b/gajim/common/structs.py @@ -15,7 +15,6 @@ from __future__ import annotations from typing import Any -from typing import Dict from typing import Type from typing import TypeVar from typing import NamedTuple @@ -28,11 +27,14 @@ from gi.repository import GLib -from nbxmpp.protocol import JID -from nbxmpp.const import Role from nbxmpp.const import Affiliation +from nbxmpp.const import Chatstate from nbxmpp.const import PresenceShow +from nbxmpp.const import Role +from nbxmpp.protocol import JID +from nbxmpp.structs import PresenceProperties +from gajim.common import types from gajim.common.const import MUCJoinedState from gajim.common.const import KindConstant from gajim.common.const import PresenceShowExt @@ -46,7 +48,7 @@ class URI(NamedTuple): type: URIType action: Optional[URIAction] = None - data: Optional[Union[Dict[str, str], str]] = None + data: Optional[Union[dict[str, str], str]] = None class MUCData: @@ -54,7 +56,8 @@ def __init__(self, room_jid: str, nick: str, password: str, - config=None) -> None: + config: Optional[dict[str, Any]] = None + ) -> None: self._room_jid = JID.from_string(room_jid) self._config = config @@ -74,29 +77,30 @@ def occupant_jid(self) -> JID: return self._room_jid.new_with(resource=self.nick) @property - def config(self): + def config(self) -> Optional[dict[str, Any]]: return self._config class OutgoingMessage: def __init__(self, account: str, - contact, + contact: types.ChatContactT, message: Optional[str], type_: str, subject: Optional[str] = None, - chatstate=None, + chatstate: Optional[Chatstate] = None, marker: Optional[tuple[str, str]] = None, resource: Optional[str] = None, user_nick: Optional[str] = None, label: Optional[str] = None, - control=None, + control: Optional[Any] = None, attention: Optional[bool] = None, correct_id: Optional[str] = None, oob_url: Optional[str] = None, - xhtml=None, - nodes=None, - play_sound: bool = True): + xhtml: Optional[str] = None, + nodes: Optional[Any] = None, + play_sound: bool = True + ) -> None: if type_ not in ('chat', 'groupchat', 'normal', 'headline'): raise ValueError('Unknown message type: %s' % type_) @@ -207,7 +211,7 @@ class PresenceData: available: bool @classmethod - def from_presence(cls, properties): + def from_presence(cls, properties: PresenceProperties) -> PresenceData: return cls(show=properties.show, status=properties.status, priority=properties.priority, @@ -233,7 +237,7 @@ class MUCPresenceData: real_jid: Optional[JID] @classmethod - def from_presence(cls, properties): + def from_presence(cls, properties: PresenceProperties) -> MUCPresenceData: return cls(show=properties.show, status=properties.status, idle_time=properties.idle_timestamp,