home · contact · privacy
Move nickname status change log message construction from client.py into client_tui.py.
authorChristian Heller <c.heller@plomlompom.de>
Sun, 10 Aug 2025 13:04:57 +0000 (15:04 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Sun, 10 Aug 2025 13:04:57 +0000 (15:04 +0200)
ircplom/client.py
ircplom/client_tui.py

index 7025321cdd8d15d33269aad5a60f3c919eb95337..3c95ce59992286b7c68ee8d4559b0ad2f157537d 100644 (file)
@@ -235,18 +235,9 @@ class Client(ABC, ClientQueueMixin):
 
         (Useful for subclass extension.)
         '''
-        first_run = not hasattr(self.conn_setup, 'nickname')
-        prefix = 'nickname'
-        if first_run or (nickname and nickname != self.conn_setup.nickname):
-            verb = ('set' if first_run
-                    else f'changed from "{self.conn_setup.nickname}"')
+        if nickname:
             self.conn_setup.nickname = nickname
-            self._log(f'{prefix} {verb} to "{nickname}"', stream=STREAM_ALL)
-        if first_run or nick_confirmed != self.nick_confirmed:
-            self.nick_confirmed = nick_confirmed
-            if not first_run:
-                self._log(
-                    f'{prefix} {"" if nick_confirmed else "un"}confirmed')
+        self.nick_confirmed = nick_confirmed
 
     def close(self) -> None:
         'Close both recv Loop and socket.'
index 0eb007fabdb3cd12a5b15b40e20f8b191e474215..95659b25b24502c6a723994db49618140bc0a2c1 100644 (file)
@@ -120,11 +120,18 @@ class _ClientWindowsManager:
         return self._new_window(stream)
 
     def update(self, **kwargs) -> bool:
-        'Apply settings in kwargs, follow represntation update triggres.'
-        for k, v in kwargs.items():
-            setattr(self, k, v)
+        'Apply settings in kwargs, follow representation update triggers.'
+        to_change = {}
+        for key, new_value in kwargs.items():
+            old_value = getattr(self, key)
+            if new_value != old_value:
+                to_change[key] = (old_value, new_value)
+        for key, vals in to_change.items():
+            self.log(msg=f'changing {key}: [{vals[0]}] -> [{vals[1]}]',
+                     stream=STREAM_SERVER)
+            setattr(self, key, vals[1])
         tainteds = False
-        if _PrivmsgPromptWidget.prefix_update_keys() & set(kwargs.keys()):
+        if _PrivmsgPromptWidget.prefix_update_keys() | set(to_change):
             for win in [w for w in self.windows
                         if isinstance(w, _PrivmsgWindow)]:
                 self._prompt_update(win)