home · contact · privacy
Use pathlib rather than os.path.
authorChristian Heller <c.heller@plomlompom.de>
Wed, 24 Sep 2025 08:24:40 +0000 (10:24 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Wed, 24 Sep 2025 08:24:40 +0000 (10:24 +0200)
ircplom/client_tui.py
ircplom/testing.py

index 185964f7da0b4e47ce8e06499f4a45ca8885fa65..569e8d291f42106525feadef191382e410181792 100644 (file)
@@ -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:
index 1edc1eaaf9b13a5a8ef26f4978434ee643c96e2a..57de47061dd3b7f390acd6b948904f7f553ebda9 100644 (file)
@@ -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()