From: Christian Heller Date: Wed, 24 Sep 2025 08:24:40 +0000 (+0200) Subject: Use pathlib rather than os.path. X-Git-Url: https://plomlompom.com/repos/?a=commitdiff_plain;h=13cbd4a2d1093d2fec8f469491ac4bba9d40cce0;p=ircplom Use pathlib rather than os.path. --- diff --git a/ircplom/client_tui.py b/ircplom/client_tui.py index 185964f..569e8d2 100644 --- a/ircplom/client_tui.py +++ b/ircplom/client_tui.py @@ -2,8 +2,7 @@ # built-ins from enum import Enum, auto from getpass import getuser -from os import makedirs -from os.path import exists +from pathlib import Path from typing import Any, Callable, Optional, Sequence # ourselves from ircplom.tui_base import (BaseTui, PromptWidget, TuiEvent, Window, @@ -26,7 +25,7 @@ _LOG_PREFIX_SERVER = '$' _LOG_PREFIX_OUT = '>' _LOG_PREFIX_IN = '<' -_PATH_LOGS = 'logs' +_PATH_LOGS = Path('logs') class _LogScope(Enum): @@ -46,10 +45,12 @@ class _ClientWindow(Window, ClientQueueMixin): def log(self, msg: str) -> None: super().log(msg) - ldir = f'{_PATH_LOGS}/{self._title}' - if not exists(ldir): - makedirs(ldir) - with open(f'{ldir}/{self._last_today}.txt', 'a', encoding='utf8') as f: + ldir = _PATH_LOGS.joinpath(self._title) + if not ldir.exists(): + ldir.mkdir(parents=True) + assert ldir.is_dir() + with ldir.joinpath('f{self._last_today}.txt' + ).open('a', encoding='utf8') as f: f.write(msg + '\n') def _send_msg(self, verb: str, params: tuple[str, ...]) -> None: diff --git a/ircplom/testing.py b/ircplom/testing.py index 1edc1ea..57de470 100644 --- a/ircplom/testing.py +++ b/ircplom/testing.py @@ -1,6 +1,7 @@ 'Basic testing.' from contextlib import contextmanager from queue import SimpleQueue, Empty as QueueEmpty +from pathlib import Path from typing import Generator, Iterator, Optional from ircplom.events import Event, Loop, QueueMixin from ircplom.client import IrcConnection, IrcConnSetup @@ -9,7 +10,7 @@ from ircplom.irc_conn import IrcConnAbortException, IrcMessage from ircplom.tui_base import TerminalInterface, TuiEvent -_PATH_TEST_TXT = './test.txt' +_PATH_TEST_TXT = Path('test.txt') class TestTerminal(QueueMixin, TerminalInterface): @@ -98,7 +99,7 @@ class TestingClientTui(ClientTui): self._clients = [] assert isinstance(self._term, TestTerminal) self._q_keypresses = self._term._q_keypresses - with open(_PATH_TEST_TXT, 'r', encoding='utf8') as f: + with _PATH_TEST_TXT.open('r', encoding='utf8') as f: self._playbook = tuple(line[:-1] for line in f.readlines()) self._playbook_idx = -1 self._play_till_next_log()