From 7ee65f8f8ca9da93174284450db891346ea9daaf Mon Sep 17 00:00:00 2001 From: jesopo Date: Mon, 28 Oct 2019 10:56:33 +0000 Subject: remove src/utils/irc/protocol.py --- modules/commands/__init__.py | 13 ++++++++----- modules/commands/outs.py | 18 ++++++++++-------- modules/ircv3_multiline.py | 3 ++- modules/relay.py | 15 ++++++++------- modules/signals.py | 4 ++-- 5 files changed, 30 insertions(+), 23 deletions(-) (limited to 'modules') diff --git a/modules/commands/__init__.py b/modules/commands/__init__.py index 9b104325..8cf56aa4 100644 --- a/modules/commands/__init__.py +++ b/modules/commands/__init__.py @@ -2,7 +2,7 @@ #--depends-on permissions import re, string, traceback, typing -from src import EventManager, ModuleManager, utils +from src import EventManager, IRCLine, ModuleManager, utils from . import outs COMMAND_METHOD = "command-method" @@ -172,6 +172,9 @@ class Module(ModuleManager.BaseModule): if not is_success: raise utils.EventError(message) + def _tagmsg(self, target, tags): + return IRCLine.ParsedLine("TAGMSG", [target], tags=tags) + def command(self, server, target, target_str, is_channel, user, command, args_split, tags, hook, **kwargs): message_tags = server.has_capability(MESSAGE_TAGS_CAP) @@ -188,8 +191,8 @@ class Module(ModuleManager.BaseModule): send_tags["+draft/reply"] = msgid if expect_output: - server.send(utils.irc.protocol.tagmsg(target_str, - {"+draft/typing": "active"}), immediate=True) + line = self._tagmsg(target_str, {"+draft/typing": "active"}) + server.send(line, immediate=True) stdout = outs.StdOut(server, module_name, target, target_str, send_tags) stderr = outs.StdErr(server, module_name, target, target_str, send_tags) @@ -238,8 +241,8 @@ class Module(ModuleManager.BaseModule): ret = new_event.eaten if expect_output and message_tags and not has_out: - server.send(utils.irc.protocol.tagmsg(target_str, - {"+draft/typing": "done"}), immediate=True) + line = self._tagmsg(target_str, {"+draft/typing": "done"}) + server.send(line, immediate=True) return ret diff --git a/modules/commands/outs.py b/modules/commands/outs.py index 9098df63..0fd8db7d 100644 --- a/modules/commands/outs.py +++ b/modules/commands/outs.py @@ -6,6 +6,14 @@ STR_MORE_LEN = len(STR_MORE.encode("utf8")) STR_CONTINUED = "(...continued) " WORD_BOUNDARY = ' ' +def _mesage_factory(command): + if not command in ["PRIVMSG", "NOTICE"]: + raise ValueError("Unknown command method '%s'" % method) + + def _(target, message): + return IRCLine.ParsedLine(command, [target, message]) + return _ + class Out(object): def __init__(self, server, module_name, target, target_str, tags): self.server = server @@ -39,15 +47,9 @@ class Out(object): text = text.replace("\n\n", "\n") full_text = "%s%s" % (prefix, text) - line_factory = None - if method == "PRIVMSG": - line_factory = utils.irc.protocol.privmsg - elif method == "NOTICE": - line_factory = utils.irc.protocol.notice - else: - raise ValueError("Unknown command method '%s'" % method) + message_factory = _mess_factory(method) - line = line_factory(self._target_str, full_text, tags=self._tags) + line = message_factory(self._target_str, full_text, tags=self._tags) if self._assured: line.assure() diff --git a/modules/ircv3_multiline.py b/modules/ircv3_multiline.py index e07b2400..c03448af 100644 --- a/modules/ircv3_multiline.py +++ b/modules/ircv3_multiline.py @@ -18,7 +18,8 @@ class Module(ModuleManager.BaseModule): batch = IRCLine.IRCSendBatch("draft/multiline", [target]) for line in lines: - batch.add_line(utils.irc.protocol.privmsg(target, line)) + line = IRCLine.ParsedLine("PRIVMSG", [target, line]) + batch.add_line(line) for line in batch.get_lines(): event["server"].send(line) diff --git a/modules/relay.py b/modules/relay.py index 9660f571..c40fb6c0 100644 --- a/modules/relay.py +++ b/modules/relay.py @@ -46,13 +46,14 @@ class Module(ModuleManager.BaseModule): relay_message = "[%s%s] %s" % (server_name, relay_prefix_channel, event["line"]) - message = utils.irc.protocol.privmsg(relay_channel.name, - relay_message) - server._relay_ignore.append(message.id) - self.bot.trigger(self._send_factory(server, message)) - - def _send_factory(self, server, message): - return lambda: server.send(message) + self.bot.trigger(self._send_factory(server, relay_channel.name, + relay_message)) + + def _send_factory(self, server, channel_name, message): + def _(): + message = server.send_message(channel_name, message) + server._relay_ignore.append(message.parsed_line.id) + return _ @utils.hook("formatted.message.channel") @utils.hook("formatted.notice.channel") diff --git a/modules/signals.py b/modules/signals.py index f3adcbb0..921b483c 100644 --- a/modules/signals.py +++ b/modules/signals.py @@ -1,5 +1,5 @@ import signal, sys -from src import Config, ModuleManager, utils +from src import Config, IRCLine, ModuleManager, utils class Module(ModuleManager.BaseModule): def on_load(self): @@ -24,7 +24,7 @@ class Module(ModuleManager.BaseModule): if server.connected: server.socket.clear_send_buffer() - line = utils.irc.protocol.quit("Shutting down") + line = IRCLine.ParsedLine("QUIT", ["Shutting down"]) sent_line = server.send(line, immediate=True) sent_line.events.on("send").hook(self._make_hook(server)) -- cgit v1.3.1-10-gc9f91