diff options
author | Trygve Aaberge <trygveaa@gmail.com> | 2024-02-04 11:23:41 +0100 |
---|---|---|
committer | Trygve Aaberge <trygveaa@gmail.com> | 2024-02-18 12:57:00 +0100 |
commit | 0a2ceeabf7e4cb6daa3a8bc9634d3da0e6d6d350 (patch) | |
tree | 134b634aed33ace0f7edb9025e7450852bedf73e | |
parent | e4602df81ec1b304fa7b2a6dfbf2a99e1e0c9273 (diff) | |
download | wee-slack-0a2ceeabf7e4cb6daa3a8bc9634d3da0e6d6d350.tar.gz |
Don't run buffer close callback when script is unloading
We don't want to call the API to close im/mpim conversations when the
script is unloading.
-rw-r--r-- | slack/register.py | 1 | ||||
-rw-r--r-- | slack/shared.py | 1 | ||||
-rw-r--r-- | slack/slack_buffer.py | 2 | ||||
-rw-r--r-- | slack/slack_conversation.py | 2 |
4 files changed, 6 insertions, 0 deletions
diff --git a/slack/register.py b/slack/register.py index b907c49..d8ab7e3 100644 --- a/slack/register.py +++ b/slack/register.py @@ -15,6 +15,7 @@ SCRIPT_DESC = "Extends weechat for typing notification/search/etc on slack.com" def shutdown_cb(): + shared.script_is_unloading = True weechat.config_write(shared.config.weechat_config.pointer) return weechat.WEECHAT_RC_OK diff --git a/slack/shared.py b/slack/shared.py index c75802c..d3d8e33 100644 --- a/slack/shared.py +++ b/slack/shared.py @@ -35,6 +35,7 @@ class Shared: self.standard_emojis_inverse: Dict[str, Emoji] self.highlight_tag = "highlight" self.debug_buffer_pointer: Optional[str] = None + self.script_is_unloading = False shared = Shared() diff --git a/slack/slack_buffer.py b/slack/slack_buffer.py index 920b877..13cfb1b 100644 --- a/slack/slack_buffer.py +++ b/slack/slack_buffer.py @@ -527,6 +527,8 @@ class SlackBuffer(ABC): return weechat.WEECHAT_RC_OK def _buffer_close_cb(self, data: str, buffer: str) -> int: + if shared.script_is_unloading: + return weechat.WEECHAT_RC_OK if self.buffer_pointer in shared.buffers: del shared.buffers[self.buffer_pointer] self.buffer_pointer = None diff --git a/slack/slack_conversation.py b/slack/slack_conversation.py index 2c95f4c..6b27940 100644 --- a/slack/slack_conversation.py +++ b/slack/slack_conversation.py @@ -734,6 +734,8 @@ class SlackConversation(SlackBuffer): def _buffer_close_cb(self, data: str, buffer: str) -> int: super()._buffer_close_cb(data, buffer) + if shared.script_is_unloading: + return weechat.WEECHAT_RC_OK run_async(self._buffer_closed()) return weechat.WEECHAT_RC_OK |