From f9f637e084b54f1b800db66499d44f7ec30d604b Mon Sep 17 00:00:00 2001 From: jesopo Date: Sun, 2 Jun 2019 10:13:51 +0100 Subject: Remove IRCSendBatch, fix some batch-related type hints --- modules/line_handler/__init__.py | 5 ++--- src/IRCServer.py | 14 +------------- src/utils/irc/__init__.py | 16 +++++----------- 3 files changed, 8 insertions(+), 27 deletions(-) diff --git a/modules/line_handler/__init__.py b/modules/line_handler/__init__.py index a1b05426..70e53d43 100644 --- a/modules/line_handler/__init__.py +++ b/modules/line_handler/__init__.py @@ -21,7 +21,7 @@ class Module(ModuleManager.BaseModule): def handle_raw(self, event): if ("batch" in event["line"].tags and event["line"].tags["batch"] in event["server"].batches): - event["server"].batches[event["line"].tags["batch"]].lines.append( + event["server"].batches[event["line"].tags["batch"]].add_line( event["line"]) else: self._handle(event["server"], event["line"]) @@ -182,8 +182,7 @@ class Module(ModuleManager.BaseModule): if modifier == "+": batch_type = event["args"][1] - batch = utils.irc.IRCRecvBatch(identifier, batch_type, - event["tags"]) + batch = utils.irc.IRCBatch(identifier, batch_type, event["tags"]) event["server"].batches[identifier] = batch self.events.on("received.batch.start").call(batch=batch, diff --git a/src/IRCServer.py b/src/IRCServer.py index d94963e5..1d5357ec 100644 --- a/src/IRCServer.py +++ b/src/IRCServer.py @@ -31,7 +31,7 @@ class Server(IRCObject.Object): self._capabilities_waiting = set([]) # type: typing.Set[str] self.agreed_capabilities = set([]) # type: typing.Set[str] self.server_capabilities = {} # type: typing.Dict[str, str] - self.batches = {} # type: typing.Dict[str, IRCLine.ParsedLine] + self.batches = {} # type: typing.Dict[str, utils.irc.IRCBatch] self.cap_started = False self.users = {} # type: typing.Dict[str, IRCUser.User] @@ -362,15 +362,3 @@ class Server(IRCObject.Object): def send_whox(self, mask: str, filter: str, fields: str, label: str=None ) -> IRCLine.SentLine: return self.send(utils.irc.protocol.whox(mask, filter, fields, label)) - - def make_batch(self, identifier: str, batch_type: str, - tags: typing.Dict[str, str]={}) -> utils.irc.IRCSendBatch: - return utils.irc.IRCSendBatch(identifier, batch_type, tags) - def send_batch(self, batch: utils.irc.IRCSendBatch) -> IRCLine.SentLine: - self.send(utils.irc.protocol.batch_start(batch.id, batch.type, - batch.tags)) - - for line in batch.lines: - self.send(line) - - return self.send(utils.irc.protocol.batch_end(batch.id)) diff --git a/src/utils/irc/__init__.py b/src/utils/irc/__init__.py index 3be9b279..67eb6b7e 100644 --- a/src/utils/irc/__init__.py +++ b/src/utils/irc/__init__.py @@ -263,17 +263,11 @@ class IRCBatch(object): self.id = identifier self.type = batch_type self.tags = tags - self.lines = [] # type: typing.List[IRCLine.ParsedLine] -class IRCRecvBatch(IRCBatch): - pass -class IRCSendBatch(IRCBatch): - def _add_line(self, line: IRCLine.ParsedLine): - line.tags["batch"] = self.id - self.lines.append(line) - def message(self, target: str, message: str, tags: dict={}): - self._add_line(utils.irc.protocol.message(target, message, tags)) - def notice(self, target: str, message: str, tags: dict={}): - self._add_line(utils.irc.protocol.notice(target, message, tags)) + self._lines = [] # type: typing.List[IRCLine.ParsedLine] + def add_line(self, line: IRCLine.ParsedLine): + self._lines.append(line) + def get_lines(self) -> typing.List[IRCLine.ParsedLine]: + return self._lines class Capability(object): def __init__(self, name, draft_name=None): -- cgit v1.3.1-10-gc9f91