home · contact · privacy
Turn ._alert calls into just a flag of Logger.add().
authorChristian Heller <c.heller@plomlompom.de>
Sun, 10 Aug 2025 10:24:13 +0000 (12:24 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Sun, 10 Aug 2025 10:24:13 +0000 (12:24 +0200)
ircplom/client.py
ircplom/events.py
ircplom/tui_base.py

index d4881a87d3fe2b8418e053b207d722c7de6b05dc..e95073519a2cfe0d2e8047bde5186ed406126c27 100644 (file)
@@ -203,7 +203,7 @@ class Client(ABC, ClientQueueMixin):
                                            client_id=self.client_id)
                 self._client_trigger('_on_connect')
             except IrcConnAbortException as e:
-                self._log.alert(str(e))
+                self._log.add(str(e), alert=True)
             except Exception as e:  # pylint: disable=broad-exception-caught
                 self._put(ExceptionEvent(e))
 
@@ -232,8 +232,8 @@ class Client(ABC, ClientQueueMixin):
              ) -> None:
         'Send line-separator-delimited message over socket.'
         if not self.conn:
-            self._log.alert('cannot send, connection seems closed',
-                            stream=stream)
+            self._log.add('cannot send, connection seems closed', alert=True,
+                          stream=stream)
             return
         self.conn.send(msg)
         if to_log:
@@ -270,7 +270,7 @@ class Client(ABC, ClientQueueMixin):
 
     def on_handled_loop_exception(self, e: IrcConnAbortException) -> None:
         'Gracefully handle broken connection.'
-        self._log.alert(f'connection broken: {e}')
+        self._log.add(f'connection broken: {e}', alert=True)
         self.close()
 
     def handle_msg(self, msg: IrcMessage) -> None:
@@ -311,7 +311,7 @@ class Client(ABC, ClientQueueMixin):
                     self.send(IrcMessage('AUTHENTICATE', (auth,)))
             case '903' | '904':
                 if msg.verb == '904':
-                    self._log.alert('SASL authentication failed')
+                    self._log.add('SASL authentication failed', alert=True)
                 self._caps.challenge('END')
 
 
index b143b7812005e615d3a664c98aa5e65740737975..21620809fa3404f4f5fc49950ae3f2a95a2862ad 100644 (file)
@@ -115,12 +115,14 @@ class Logger:
     def __init__(self, to_call: Callable[[str], None]) -> None:
         self._to_call = to_call
 
-    def add(self, msg: str, prefix: str = _LOG_PREFIX_DEFAULT, **kwargs
+    def add(self,
+            msg: str,
+            prefix: str = _LOG_PREFIX_DEFAULT,
+            alert=False,
+            **kwargs
             ) -> None:
         'Add msg to log.'
+        if alert:
+            prefix = _LOG_PREFIX_ALERT + prefix
         time = str(datetime.now())[11:19]
         self._to_call(f'{time} {prefix}{msg}', **kwargs)
-
-    def alert(self, msg: str, **kwargs) -> None:
-        'Add msg prefixed with _LOG_PREFIX_ALERT to log.'
-        self.add(msg, prefix=_LOG_PREFIX_ALERT, **kwargs)
index 3a9e0f40dfe4950b3558b59b2ca7ff1be6f26c30..6b8bd9b4b0c30e3a5ce7bb954e564f49ea02a7bf 100644 (file)
@@ -453,7 +453,7 @@ class BaseTui(QueueMixin):
         elif len(typed_in) == 1:
             self.window.prompt.insert(typed_in)
         else:
-            self._log.alert(f'unknown keyboard input: {typed_in}')
+            self._log.add(f'unknown keyboard input: {typed_in}', alert=True)
         self.redraw_affected()
 
     def cmd__prompt_enter(self) -> None:
@@ -487,7 +487,7 @@ class BaseTui(QueueMixin):
         else:
             alert = 'not prefixed by /'
         if alert:
-            self._log.alert(f'invalid prompt command: {alert}')
+            self._log.add(f'invalid prompt command: {alert}', alert=True)
 
     def cmd__help(self) -> None:
         'Print available commands.'