diff options
| author | 2019-05-11 15:11:09 +0100 | |
|---|---|---|
| committer | 2019-05-11 15:11:09 +0100 | |
| commit | 295f7a751c9f4917ddd6017c61945e7588b7000d (patch) | |
| tree | 4235a9c7c2b776b2f91808f34af77434ef1a2690 /src/utils/irc/__init__.py | |
| parent | Remove unused SCRAM functions from sasl/__init__.py (diff) | |
| signature | ||
Refactor CAPs in to objects
Diffstat (limited to 'src/utils/irc/__init__.py')
| -rw-r--r-- | src/utils/irc/__init__.py | 11 |
1 files changed, 11 insertions, 0 deletions
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 |
