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))
) -> 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:
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:
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')
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)
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:
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.'