From 295f7a751c9f4917ddd6017c61945e7588b7000d Mon Sep 17 00:00:00 2001 From: jesopo Date: Sat, 11 May 2019 15:11:09 +0100 Subject: Refactor CAPs in to objects --- src/utils/irc/__init__.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/utils/irc/__init__.py') diff --git a/src/utils/irc/__init__.py b/src/utils/irc/__init__.py index 3e285995..15850cea 100644 --- a/src/utils/irc/__init__.py +++ b/src/utils/irc/__init__.py @@ -275,3 +275,14 @@ class IRCSendBatch(IRCBatch): 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): + def __init__(self, name, draft_name=None): + self._caps = set([name, draft_name]) + self._name = name + self._draft_name = draft_name + def available(self, capabilities: typing.List[str]) -> str: + match = list(set(capabilities)&self._caps) + return match[0] if match else None + def enabled(self, capability: str) -> bool: + return capability in self._caps -- cgit v1.3.1-10-gc9f91