aboutsummaryrefslogtreecommitdiff
path: root/modules/line_handler
diff options
context:
space:
mode:
authorGravatar jesopo2019-05-11 15:11:09 +0100
committerGravatar jesopo2019-05-11 15:11:09 +0100
commit295f7a751c9f4917ddd6017c61945e7588b7000d (patch)
tree4235a9c7c2b776b2f91808f34af77434ef1a2690 /modules/line_handler
parentRemove unused SCRAM functions from sasl/__init__.py (diff)
Refactor CAPs in to objects
Diffstat (limited to 'modules/line_handler')
-rw-r--r--modules/line_handler/ircv3.py30
1 files changed, 24 insertions, 6 deletions
diff --git a/modules/line_handler/ircv3.py b/modules/line_handler/ircv3.py
index 077b6ec3..ea68c67b 100644
--- a/modules/line_handler/ircv3.py
+++ b/modules/line_handler/ircv3.py
@@ -1,13 +1,31 @@
from src import utils
-CAPABILITIES = {"multi-prefix", "chghost", "invite-notify", "account-tag",
- "account-notify", "extended-join", "away-notify", "userhost-in-names",
- "draft/message-tags-0.2", "message-tags", "server-time", "cap-notify",
- "batch", "draft/labeled-response", "draft/rename", "echo-message",
- "draft/setname"}
+CAPABILITIES = [
+ utils.irc.Capability("multi-prefix"),
+ utils.irc.Capability("chghost"),
+ utils.irc.Capability("invite-notify"),
+ utils.irc.Capability("account-tag"),
+ utils.irc.Capability("account-notify"),
+ utils.irc.Capability("extended-join"),
+ utils.irc.Capability("away-notify"),
+ utils.irc.Capability("userhost-in-names"),
+ utils.irc.Capability("message-tags", "draft/message-tags-0.2"),
+ utils.irc.Capability("server-time"),
+ utils.irc.Capability("cap-notify"),
+ utils.irc.Capability("batch"),
+ utils.irc.Capability("echo-message"),
+ utils.irc.Capability(None, "draft/labeled-response"),
+ utils.irc.Capability(None, "draft/rename"),
+ utils.irc.Capability(None, "draft/setname")
+]
def _match_caps(capabilities):
- return set(capabilities) & CAPABILITIES
+ matched = []
+ for capability in CAPABILITIES:
+ available = capability.available(capabilities)
+ if available:
+ matched.append(available)
+ return matched
def cap(events, event):
capabilities = utils.parse.keyvalue(event["args"][-1])