From 7a220868feb952ab2e3088ab2cf74eff170a174a Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Wed, 11 Jun 2025 14:17:37 +0200 Subject: [PATCH] Use NamedTuple for login names collection. --- ircplom.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/ircplom.py b/ircplom.py index 930b887..0c9bac2 100755 --- a/ircplom.py +++ b/ircplom.py @@ -213,6 +213,13 @@ class Terminal: yield str(blessed_key) +class LoginNames(NamedTuple): + 'Collects the names needed on server connect for USER, NICK commands.' + user: str + nick: str + real: str + + class IrcConnection: 'Abstracts socket connection, loop over it, and handling messages from it.' @@ -220,7 +227,7 @@ class IrcConnection: q_to_main: EventQueue, idx: int, hostname: str, - login: tuple[str, str, str] + login: LoginNames, ) -> None: self._idx = idx self._q_to_main = q_to_main @@ -830,8 +837,8 @@ class TuiLoop(Loop): realname: str ) -> None: 'Send INIT_CONNECT command to main loop.' - self.broadcast(EventType.INIT_CONNECT, - (hostname, (username, nickname, realname))) + login = LoginNames(user=username, nick=nickname, real=realname) + self.broadcast(EventType.INIT_CONNECT, (hostname, login)) def cmd__prompt_enter(self) -> None: 'Get prompt content from .window.prompt.enter, parse to & run command.' @@ -905,8 +912,8 @@ class ConnectionLoop(Loop): return False if event.type_ == EventType.CONNECTED: login = event.payload[1] - self._send('USER', (login[0], '0', '*', login[2])) - self._send('NICK', (login[1],)) + self._send('USER', (login.user, '0', '*', login.real)) + self._send('NICK', (login.nick,)) return True def process_bonus(self, yielded: str) -> None: -- 2.30.2