diff options
| author | 2019-02-23 21:33:04 +0000 | |
|---|---|---|
| committer | 2019-02-23 21:33:04 +0000 | |
| commit | 8c94bcf6caf0ae88b3a67d0a73389a7e60810e1c (patch) | |
| tree | 8d72b0760aef71da12403696e9acd387d288e4e0 /src/utils/irc/protocol.py | |
| parent | !raw needs to parse the line it's given in to an IRCParsedLine now (diff) | |
| signature | ||
Move utils.irc.IRCParsedLine to IRCLine.ParsedLine, improve truncation
mechanism, don't convert sent line from ParsedLine to text to ParsedLine for
line_handler handling
Diffstat (limited to 'src/utils/irc/protocol.py')
| -rw-r--r-- | src/utils/irc/protocol.py | 108 |
1 files changed, 54 insertions, 54 deletions
diff --git a/src/utils/irc/protocol.py b/src/utils/irc/protocol.py index 2c57ad25..0ccf684f 100644 --- a/src/utils/irc/protocol.py +++ b/src/utils/irc/protocol.py @@ -1,90 +1,90 @@ import typing -from src import utils +from src import IRCLine, utils -def user(username: str, realname: str) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("USER", [username, "0", "*", realname]) -def nick(nickname: str) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("NICK", [nickname]) +def user(username: str, realname: str) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("USER", [username, "0", "*", realname]) +def nick(nickname: str) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("NICK", [nickname]) -def capability_ls() -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("CAP", ["LS", "302"]) -def capability_request(capability: str) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("CAP", ["REQ", capability]) -def capability_end() -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("CAP", ["END"]) -def authenticate(text: str) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("AUTHENTICATE", [text]) +def capability_ls() -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("CAP", ["LS", "302"]) +def capability_request(capability: str) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("CAP", ["REQ", capability]) +def capability_end() -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("CAP", ["END"]) +def authenticate(text: str) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("AUTHENTICATE", [text]) -def password(password: str) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("PASS", [password]) +def password(password: str) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("PASS", [password]) -def ping(nonce: str="hello") -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("PING", [nonce]) -def pong(nonce: str="hello") -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("PONG", [nonce]) +def ping(nonce: str="hello") -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("PING", [nonce]) +def pong(nonce: str="hello") -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("PONG", [nonce]) def join(channel_name: str, keys: typing.List[str]=None - ) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("JOIN", [channel_name]+( + ) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("JOIN", [channel_name]+( keys if keys else [])) -def part(channel_name: str, reason: str=None) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("PART", [channel_name]+( +def part(channel_name: str, reason: str=None) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("PART", [channel_name]+( [reason] if reason else [])) -def quit(reason: str=None) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("QUIT", [reason] if reason else []) +def quit(reason: str=None) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("QUIT", [reason] if reason else []) def message(target: str, message: str, tags: typing.Dict[str, str]={} - ) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("PRIVMSG", [target, message], tags=tags) + ) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("PRIVMSG", [target, message], tags=tags) def notice(target: str, message: str, tags: typing.Dict[str, str]={} - ) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("NOTICE", [target, message], tags=tags) -def tagmsg(target, tags: dict) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("TAGMSG", [target], tags=tags) + ) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("NOTICE", [target, message], tags=tags) +def tagmsg(target, tags: dict) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("TAGMSG", [target], tags=tags) def mode(target: str, mode: str=None, args: typing.List[str]=None - ) -> 'utils.irc.IRCParsedLine': + ) -> IRCLine.ParsedLine: command_args = [target] if mode: command_args.append(mode) if args: command_args = command_args+args - return utils.irc.IRCParsedLine("MODE", command_args) + return IRCLine.ParsedLine("MODE", command_args) -def topic(channel_name: str, topic: str) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("TOPIC", [channel_name, topic]) +def topic(channel_name: str, topic: str) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("TOPIC", [channel_name, topic]) def kick(channel_name: str, target: str, reason: str=None - ) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("KICK", [channel_name, target]+( + ) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("KICK", [channel_name, target]+( [reason] if reason else [])) -def names(channel_name: str) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("NAMES", [channel_name]) -def list(search_for: str=None) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("LIST", [search_for] if search_for else []) -def invite(target: str, channel_name: str) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("INVITE", [target, channel_name]) +def names(channel_name: str) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("NAMES", [channel_name]) +def list(search_for: str=None) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("LIST", [search_for] if search_for else []) +def invite(target: str, channel_name: str) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("INVITE", [target, channel_name]) -def whois(target: str) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("WHOIS", [target]) +def whois(target: str) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("WHOIS", [target]) def whowas(target: str, amount: int=None, server: str=None - ) -> 'utils.irc.IRCParsedLine': + ) -> IRCLine.ParsedLine: command_args = [target] if amount: command_args.append(str(amount)) if server: command_args.append(server) - return utils.irc.IRCParsedLine("WHOWAS", command_args) -def who(filter: str=None) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("WHO", [filter] if filter else []) + return IRCLine.ParsedLine("WHOWAS", command_args) +def who(filter: str=None) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("WHO", [filter] if filter else []) def whox(mask: str, filter: str, fields: str, label: str=None - ) -> 'utils.irc.IRCParsedLine': + ) -> IRCLine.ParsedLine: flags = "%s%%%s%s" % (filter, fields, ","+label if label else "") - return utils.irc.IRCParsedLine("WHO", [mask, flags]) + return IRCLine.ParsedLine("WHO", [mask, flags]) def batch_start(identifier: str, batch_type: str, tags: typing.Dict[str, str]={} - ) -> 'utils.irc.IRCParsedLine': - return utils.irc.IRCParsedLine("BATCH", ["+%s" % identifier, batch_type], + ) -> IRCLine.ParsedLine: + return IRCLine.ParsedLine("BATCH", ["+%s" % identifier, batch_type], tags=tags) def batch_end(identifier: str, tags: typing.Dict[str, str]={}): - return utils.irc.IRCParsedLine("BATCH", ["-%s" % identifier], tags=tags) + return IRCLine.ParsedLine("BATCH", ["-%s" % identifier], tags=tags) |
