From a876d4e2ee7f0d066d960a72c08ad6f7fe50001a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxime=20=E2=80=9Cpep=E2=80=9D=20Buquet?= Date: Wed, 20 May 2020 00:43:28 +0200 Subject: MucTab: add some typing to presence handlers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maxime “pep” Buquet --- poezio/tabs/muctab.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/poezio/tabs/muctab.py b/poezio/tabs/muctab.py index dc1a40d4..d16ac58a 100644 --- a/poezio/tabs/muctab.py +++ b/poezio/tabs/muctab.py @@ -18,9 +18,9 @@ import re import functools from copy import copy from datetime import datetime -from typing import Dict, Callable, List, Optional, Union, Set +from typing import Dict, Callable, List, Optional, Tuple, Union, Set -from slixmpp import InvalidJID, JID +from slixmpp import InvalidJID, JID, Presence from slixmpp.exceptions import IqError, IqTimeout from poezio.tabs import ChatTab, Tab, SHOW_NAME @@ -509,15 +509,15 @@ class MucTab(ChatTab): self.core.tabs.current_tab.refresh_input() self.core.doupdate() - def handle_presence_unjoined(self, presence, deterministic, own=False): + def handle_presence_unjoined(self, presence: Presence, deterministic, own=False) -> None: """ Presence received while we are not in the room (before code=110) """ # If presence is coming from MUC barejid, ignore. if not presence['from'].resource: return None - from_nick, _, affiliation, show, status, role, jid, typ = dissect_presence( - presence) + dissected_presence = dissect_presence(presence) + from_nick, _, affiliation, show, status, role, jid, typ = dissected_presence if typ == 'unavailable': return user_color = self.search_for_color(from_nick) @@ -595,15 +595,15 @@ class MucTab(ChatTab): ), typ=0) - def handle_presence_joined(self, presence, status_codes): + def handle_presence_joined(self, presence: Presence, status_codes) -> None: """ Handle new presences when we are already in the room """ # If presence is coming from MUC barejid, ignore. if not presence['from'].resource: return None - from_nick, from_room, affiliation, show, status, role, jid, typ = dissect_presence( - presence) + dissected_presence = dissect_presence(presence) + from_nick, from_room, affiliation, show, status, role, jid, typ = dissected_presence change_nick = '303' in status_codes kick = '307' in status_codes and typ == 'unavailable' ban = '301' in status_codes and typ == 'unavailable' @@ -2195,7 +2195,7 @@ class PresenceError(Exception): pass -def dissect_presence(presence): +def dissect_presence(presence: Presence) -> Tuple[str, str, str, str, str, str, JID, str]: """ Extract relevant information from a presence """ -- cgit v1.2.3