from threading import Thread
from typing import Callable, Optional
# ourselves
-from ircplom.events import (AffectiveEvent, ExceptionEvent, Logger,
- PayloadMixin, QueueMixin)
+from ircplom.events import AffectiveEvent, ExceptionEvent, Logger, QueueMixin
from ircplom.irc_conn import (BaseIrcConnection, IrcConnAbortException,
IrcMessage, PORT_SSL)
@dataclass
-class NewClientEvent(AffectiveEvent, PayloadMixin):
+class NewClientEvent(AffectiveEvent):
'Put Client .payload into ClientsDb target.'
- payload: 'Client'
+ payload: Client
def affect(self, target: ClientsDb) -> None:
target[self.payload.id_] = self.payload
from dataclasses import dataclass
from getpass import getuser
# ourselves
-from ircplom.events import PayloadMixin
from ircplom.tui_base import (BaseTui, PromptWidget, TuiEvent, Window,
CMD_SHORTCUTS)
from ircplom.irc_conn import IrcMessage
@dataclass
-class _ClientWindowEvent(TuiEvent, ClientIdMixin):
- chat: str = ''
-
-
-@dataclass
-class _ClientLogEvent(_ClientWindowEvent, PayloadMixin):
- payload: str
+class _ClientLogEvent(TuiEvent, ClientIdMixin):
+ chat: str
+ msg: str
def affect(self, target: ClientTui) -> None:
if self.chat == CHAT_GLOB:
for win in target.client_wins(self.client_id):
- win.log.append(self.payload)
+ win.log.append(self.msg)
else:
- target.client_win(self.client_id, self.chat
- ).log.append(self.payload)
+ target.client_win(self.client_id, self.chat).log.append(self.msg)
target.redraw_affected()
@dataclass
-class _ClientPromptEvent(_ClientWindowEvent, PayloadMixin):
+class _ClientPromptEvent(TuiEvent, ClientIdMixin):
payload: tuple[str, str]
def affect(self, target: ClientTui) -> None:
class _ClientKnowingTui(Client):
def _log(self, msg: str, chat: str = '') -> None:
- self._cput(_ClientLogEvent, chat=chat, payload=msg)
+ self._cput(_ClientLogEvent, chat=chat, msg=msg)
def update_login(self, nick_confirmed: bool, nickname: str = '') -> None:
super().update_login(nick_confirmed, nickname)