Remove IRCSendBatch, fix some batch-related type hints
This commit is contained in:
parent
ccf863a8a7
commit
f9f637e084
3 changed files with 8 additions and 27 deletions
|
@ -21,7 +21,7 @@ class Module(ModuleManager.BaseModule):
|
||||||
def handle_raw(self, event):
|
def handle_raw(self, event):
|
||||||
if ("batch" in event["line"].tags and
|
if ("batch" in event["line"].tags and
|
||||||
event["line"].tags["batch"] in event["server"].batches):
|
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"])
|
event["line"])
|
||||||
else:
|
else:
|
||||||
self._handle(event["server"], event["line"])
|
self._handle(event["server"], event["line"])
|
||||||
|
@ -182,8 +182,7 @@ class Module(ModuleManager.BaseModule):
|
||||||
|
|
||||||
if modifier == "+":
|
if modifier == "+":
|
||||||
batch_type = event["args"][1]
|
batch_type = event["args"][1]
|
||||||
batch = utils.irc.IRCRecvBatch(identifier, batch_type,
|
batch = utils.irc.IRCBatch(identifier, batch_type, event["tags"])
|
||||||
event["tags"])
|
|
||||||
event["server"].batches[identifier] = batch
|
event["server"].batches[identifier] = batch
|
||||||
|
|
||||||
self.events.on("received.batch.start").call(batch=batch,
|
self.events.on("received.batch.start").call(batch=batch,
|
||||||
|
|
|
@ -31,7 +31,7 @@ class Server(IRCObject.Object):
|
||||||
self._capabilities_waiting = set([]) # type: typing.Set[str]
|
self._capabilities_waiting = set([]) # type: typing.Set[str]
|
||||||
self.agreed_capabilities = set([]) # type: typing.Set[str]
|
self.agreed_capabilities = set([]) # type: typing.Set[str]
|
||||||
self.server_capabilities = {} # type: typing.Dict[str, 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.cap_started = False
|
||||||
|
|
||||||
self.users = {} # type: typing.Dict[str, IRCUser.User]
|
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
|
def send_whox(self, mask: str, filter: str, fields: str, label: str=None
|
||||||
) -> IRCLine.SentLine:
|
) -> IRCLine.SentLine:
|
||||||
return self.send(utils.irc.protocol.whox(mask, filter, fields, label))
|
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))
|
|
||||||
|
|
|
@ -263,17 +263,11 @@ class IRCBatch(object):
|
||||||
self.id = identifier
|
self.id = identifier
|
||||||
self.type = batch_type
|
self.type = batch_type
|
||||||
self.tags = tags
|
self.tags = tags
|
||||||
self.lines = [] # type: typing.List[IRCLine.ParsedLine]
|
self._lines = [] # type: typing.List[IRCLine.ParsedLine]
|
||||||
class IRCRecvBatch(IRCBatch):
|
def add_line(self, line: IRCLine.ParsedLine):
|
||||||
pass
|
self._lines.append(line)
|
||||||
class IRCSendBatch(IRCBatch):
|
def get_lines(self) -> typing.List[IRCLine.ParsedLine]:
|
||||||
def _add_line(self, line: IRCLine.ParsedLine):
|
return self._lines
|
||||||
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))
|
|
||||||
|
|
||||||
class Capability(object):
|
class Capability(object):
|
||||||
def __init__(self, name, draft_name=None):
|
def __init__(self, name, draft_name=None):
|
||||||
|
|
Loading…
Reference in a new issue