From 442fa016f05b8853e8a1e1064b75ee98a2a6a0d4 Mon Sep 17 00:00:00 2001 From: "Schimon Jehudah, Adv." Date: Wed, 27 Nov 2024 13:05:05 +0200 Subject: [PATCH] Set function cancel_all_tasks for events got_offline and presence_unavailable. --- slixfeed/xmpp/client.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/slixfeed/xmpp/client.py b/slixfeed/xmpp/client.py index c3055b3..5c27fba 100644 --- a/slixfeed/xmpp/client.py +++ b/slixfeed/xmpp/client.py @@ -260,7 +260,7 @@ class XmppClient(slixmpp.ClientXMPP): self.add_event_handler("session_resumed", self.on_session_resumed) self.add_event_handler("got_offline", - self.on_got_offline) + self.cancel_all_tasks) self.add_event_handler("changed_status", self.on_changed_status) self.add_event_handler("disco_info", @@ -268,7 +268,7 @@ class XmppClient(slixmpp.ClientXMPP): self.add_event_handler("presence_available", self.on_presence_available) self.add_event_handler("presence_unavailable", - self.on_presence_unavailable) + self.cancel_all_tasks) self.add_event_handler("chatstate_active", self.on_chatstate_active) self.add_event_handler("chatstate_composing", @@ -530,11 +530,6 @@ class XmppClient(slixmpp.ClientXMPP): difference)) - async def on_got_offline(self, presence): - breakpoint() - # await task.check_readiness(self, presence) - - async def on_changed_status(self, presence): time_begin = time.time() jid_full = presence['from'].full @@ -657,15 +652,17 @@ class XmppClient(slixmpp.ClientXMPP): difference)) - def on_presence_unavailable(self, presence): + def cancel_all_tasks(self, presence): time_begin = time.time() jid_full = presence['from'].full function_name = sys._getframe().f_code.co_name message_log = '{}: jid_full: {}' logger.debug(message_log.format(function_name, jid_full)) + jid_bare = presence['from'].bare for task in ('check', 'interval', 'status'): Task.stop(self, jid_bare, 'status') + time_end = time.time() difference = time_end - time_begin if difference > 1: logger.warning('{} (time: {})'.format(function_name,