From: Christian Heller Date: Tue, 5 Aug 2025 03:47:30 +0000 (+0200) Subject: Refactor off InitReconnectEvent. X-Git-Url: https://plomlompom.com/repos/booking/static/%7B%7Bdb.prefix%7D%7D/%7B%7Bprefix%7D%7D/do_day?a=commitdiff_plain;p=ircplom Refactor off InitReconnectEvent. --- diff --git a/ircplom/client.py b/ircplom/client.py index 417c1d8..97c0393 100644 --- a/ircplom/client.py +++ b/ircplom/client.py @@ -190,6 +190,9 @@ class Client(ABC, ClientQueueMixin): def connect(self) -> None: try: + if self.conn: + raise IrcConnAbortException( + 'not re-connecting since already connected') self.conn = _IrcConnection(hostname=self.conn_setup.hostname, port=self.conn_setup.port, q_out=self.q_out, @@ -300,15 +303,3 @@ class NewClientEvent(AffectiveEvent, PayloadMixin): def affect(self, target: ClientsDb) -> None: target[self.payload.id_] = self.payload - - -@dataclass -class InitReconnectEvent(ClientEvent): - 'To trigger re-opening of connection.' - - def affect(self, target: 'Client') -> None: - if target.conn: - target.log.alert('reconnection called, but still seem connected, ' - 'so nothing to do.') - else: - target.start_connecting() diff --git a/ircplom/client_tui.py b/ircplom/client_tui.py index 25aa7f4..59cd1e4 100644 --- a/ircplom/client_tui.py +++ b/ircplom/client_tui.py @@ -8,8 +8,7 @@ from ircplom.tui_base import (BaseTui, PromptWidget, TuiEvent, Window, CMD_SHORTCUTS) from ircplom.irc_conn import IrcMessage from ircplom.client import (CHAT_GLOB, IrcConnSetup, Client, ClientEvent, - ClientIdMixin, ClientQueueMixin, - InitReconnectEvent, NewClientEvent) + ClientIdMixin, ClientQueueMixin, NewClientEvent) CMD_SHORTCUTS['connect'] = 'window.connect' @@ -72,7 +71,7 @@ class _ClientWindow(Window, ClientQueueMixin): if host_port: self._parent.cmd__connect(host_port, nickname_pw, realname) else: - self._cput(InitReconnectEvent) + self._cput(ClientEvent.make_subtype('start_connecting')) def cmd__nick(self, new_nick: str) -> None: 'Attempt nickname change.'