From: Christian Heller Date: Sun, 10 Aug 2025 15:06:11 +0000 (+0200) Subject: Differentiate /privmsg logging failure into STREAM_SAME, to_log into target. X-Git-Url: https://plomlompom.com/repos/booking/%7B%7Bprefix%7D%7D/processes?a=commitdiff_plain;h=e5c01aac7bdcb95b578f40abed9c76cbfee9a947;p=ircplom Differentiate /privmsg logging failure into STREAM_SAME, to_log into target. --- diff --git a/ircplom/client.py b/ircplom/client.py index fd192a8..bdbd624 100644 --- a/ircplom/client.py +++ b/ircplom/client.py @@ -13,6 +13,7 @@ from ircplom.irc_conn import (BaseIrcConnection, IrcConnAbortException, ClientsDb = dict[str, 'Client'] STREAM_ALL = '*' +STREAM_SAME = '=' STREAM_PREFIX_META = ':' STREAM_SERVER = f'{STREAM_PREFIX_META}server' STREAM_RAW = f'{STREAM_PREFIX_META}raw' @@ -216,17 +217,17 @@ class Client(ABC, ClientQueueMixin): def send(self, msg: IrcMessage, - stream: str = STREAM_SERVER, - to_log: str = '' + to_log: str = '', + stream_for_log: str = STREAM_SERVER ) -> None: - 'Send line-separator-delimited message over socket.' + 'Send msg over socket, on success log .raw, and optionally set to_log.' if not self.conn: self._log('cannot send, connection seems closed', alert=True, - stream=stream) + stream=STREAM_SAME) return self.conn.send(msg) if to_log: - self._log(to_log, prefix='', stream=stream) + self._log(to_log, prefix='', stream=stream_for_log) self._log(msg.raw, prefix=_LOG_PREFIX_SEND_RAW, stream=STREAM_RAW) def update_login(self, nick_confirmed: bool, nickname: str = '') -> None: @@ -253,7 +254,7 @@ class Client(ABC, ClientQueueMixin): self.close() def handle_msg(self, msg: IrcMessage) -> None: - 'Process incoming msg towards appropriate client steps.' + 'Log msg.raw, then process incoming msg into appropriate client steps.' self._log(msg.raw, prefix=_LOG_PREFIX_RECV_RAW, stream=STREAM_RAW) match msg.verb: case 'PING': diff --git a/ircplom/client_tui.py b/ircplom/client_tui.py index 24969ba..457e14a 100644 --- a/ircplom/client_tui.py +++ b/ircplom/client_tui.py @@ -9,7 +9,7 @@ from ircplom.tui_base import (BaseTui, PromptWidget, TuiEvent, Window, CMD_SHORTCUTS) from ircplom.irc_conn import IrcMessage from ircplom.client import ( - STREAM_ALL, STREAM_PREFIX_META, STREAM_RAW, STREAM_SERVER, + STREAM_ALL, STREAM_SAME, STREAM_PREFIX_META, STREAM_RAW, STREAM_SERVER, IrcConnSetup, Client, ClientQueueMixin, NewClientEvent) CMD_SHORTCUTS['disconnect'] = 'window.disconnect' @@ -17,8 +17,6 @@ CMD_SHORTCUTS['nick'] = 'window.nick' CMD_SHORTCUTS['privmsg'] = 'window.privmsg' CMD_SHORTCUTS['reconnect'] = 'window.reconnect' -_STREAM_SAME = '=' - class _ClientWindow(Window, ClientQueueMixin): @@ -50,8 +48,8 @@ class _ClientWindow(Window, ClientQueueMixin): def cmd__privmsg(self, target: str, msg: str) -> None: 'Send chat message msg to target.' - self._send_msg('PRIVMSG', (target, msg), - stream=target, to_log=f'>{self.prompt.prefix}{msg}') + self._send_msg('PRIVMSG', (target, msg), stream_for_log=target, + to_log=f'>{self.prompt.prefix}{msg}') class _PrivmsgPromptWidget(PromptWidget): @@ -148,8 +146,8 @@ class ClientTui(BaseTui): self._client_mngrs: dict[str, _ClientWindowsManager] = {} def _log_target_wins(self, **kwargs) -> Sequence[Window]: - stream = kwargs.get('stream', _STREAM_SAME) - if stream != _STREAM_SAME and 'client_id' in kwargs: + stream = kwargs.get('stream', STREAM_SAME) + if stream != STREAM_SAME and 'client_id' in kwargs: m = self._client_mngrs[kwargs['client_id']] if stream == STREAM_SERVER: return [m.window(STREAM_SERVER), m.window(STREAM_RAW)] @@ -206,7 +204,7 @@ class _ClientKnowingTui(Client): 'Catch /reconnect, only initiate if not connected, else complain back.' if self.conn: self._log('not re-connecting since already connected', - stream=_STREAM_SAME, alert=True) + stream=STREAM_SAME, alert=True) return self._start_connecting()