From: Christian Heller Date: Fri, 26 Sep 2025 03:47:26 +0000 (+0200) Subject: Don't write log files while testing. X-Git-Url: https://plomlompom.com/repos/?a=commitdiff_plain;h=05b251f54e6baea27b7162251ca839ba54915216;p=ircplom Don't write log files while testing. --- diff --git a/src/ircplom/client_tui.py b/src/ircplom/client_tui.py index 25ad250..01f7127 100644 --- a/src/ircplom/client_tui.py +++ b/src/ircplom/client_tui.py @@ -40,12 +40,15 @@ class _LogScope(Enum): class _ClientWindow(Window, ClientQueueMixin): - def __init__(self, **kwargs) -> None: + def __init__(self, path_logs: Optional[Path], **kwargs) -> None: + self._path_logs = path_logs super().__init__(**kwargs) self._title = f'{self.client_id} :DEBUG' def log(self, msg: str) -> None: super().log(msg) + if self._path_logs is None: + return escaped = '' for char in self._title: if (char.isalpha() and char.isascii()) or char in '-.': @@ -335,23 +338,29 @@ class _TuiClientDb(_UpdatingNode, SharedClientDbFields): class _ClientWindowsManager: - def __init__(self, tui_log: Callable, tui_new_window: Callable) -> None: + def __init__(self, + tui_log: Callable, + tui_new_window: Callable, + path_logs: Optional[Path] + ) -> None: self._tui_log = tui_log self._tui_new_window = tui_new_window + self._path_logs = path_logs self.db = _TuiClientDb() self.windows: list[_ClientWindow] = [] def _new_win(self, scope: _LogScope, chatname: str = '') -> _ClientWindow: if scope == _LogScope.CHAT: win = self._tui_new_window( + chatname=chatname, path_logs=self._path_logs, win_cls=(_ChannelWindow if self.db.is_chan_name(chatname) else _QueryWindow), - chatname=chatname, get_nick_data=lambda: (self.db.users['me'].nick if 'me' in self.db.users.keys() else '?')) else: - win = self._tui_new_window(win_cls=_ClientWindow) + win = self._tui_new_window(win_cls=_ClientWindow, + path_logs=self._path_logs) self.windows += [win] return win @@ -497,6 +506,7 @@ class ClientTui(BaseTui): 'TUI expanded towards Client features.' _client_cls = ClientKnowingTui _path_config: Optional[Path] = _PATH_CONFIG + _path_logs: Optional[Path] = _PATH_LOGS def __init__(self, **kwargs) -> None: super().__init__(**kwargs) @@ -538,7 +548,8 @@ class ClientTui(BaseTui): tui_log=lambda msg, **kw: self.log( msg, client_id=client_id, **kw), tui_new_window=lambda win_cls, **kw: self._new_window( - win_cls, _q_out=self._q_out, client_id=client_id, **kw)) + win_cls, _q_out=self._q_out, client_id=client_id, **kw), + path_logs=self._path_logs) if getattr(self._client_mngrs[client_id], todo)(**kwargs) is not False: self.redraw_affected() diff --git a/src/ircplom/testing.py b/src/ircplom/testing.py index f7c7905..a33d203 100644 --- a/src/ircplom/testing.py +++ b/src/ircplom/testing.py @@ -93,8 +93,9 @@ class _TestClientKnowingTui(ClientKnowingTui): class TestingClientTui(ClientTui): 'Collects keypresses via TestTerminal and test file, compares log results.' _client_cls = _TestClientKnowingTui - _path_config = None _clients: list[_TestClientKnowingTui] + _path_config = None + _path_logs: Optional[Path] = None def __init__(self, **kwargs) -> None: super().__init__(**kwargs)