aboutsummaryrefslogtreecommitdiff
path: root/src/IRCLine.py
blob: eeb90f1a4a63c5849454a7927bf8bf82349717e3 (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import datetime, typing
from src import IRCObject

class Line(IRCObject.Object):
    def __init__(self, send_time: datetime.datetime, data: str):
        self.send_time = send_time
        self.data = data

        self._on_send = [] # type: typing.List[typing.Callable[[], None]]

    def __repr__(self) -> str:
        return "IRCLine.Line(%s)" % self.__str__()
    def __str__(self) -> str:
        return self.data

    def on_send(self, func: typing.Callable[[], None]):
        self._on_send.append(func)
    def sent(self):
        for func in self._on_send[:]:
            func()