if complete:
target.complete()
if target is self._ls:
- for cap_name in _NAMES_DESIRED_SERVER_CAPS:
+ for key, data in [_tuple_key_val_from_eq_str(entry)
+ for entry in sorted(target)]:
+ self._dict[key].data = data
+ for cap_name in [cap for cap in _NAMES_DESIRED_SERVER_CAPS
+ if cap in self._dict.keys()]:
self._send('REQ', cap_name)
self._send('LIST')
else:
naks = self._list_expectations['NAK']
assert acks == self._list.intersection(acks)
assert set() == self._list.intersection(naks)
- for key, data in [_tuple_key_val_from_eq_str(entry)
- for entry in sorted(self._ls)]:
- self._dict[key].data = data
+ for key in sorted(self._list):
self._dict[key].enabled = key in self._list
return True
return False
return orig_cls.__args__[0]
def __setitem__(self, key: str, val: DictItem) -> None:
- assert isinstance(val, self._item_cls)
+ assert isinstance(val, self._item_cls), (type(val), self._item_cls)
self._dict[key] = val
def __delitem__(self, key: str) -> None:
log 1 > NICK :foo1
# collect server capabilities
insert servermsglogged : +0 MSG :*.?.net CAP * LS : foo bar sasl=PLAIN,EXTERNAL baz cap-notify
-log 1 > CAP REQ :sasl
-log 1 > CAP :LIST
-insert servermsglogged : +0 MSG :*.?.net CAP * ACK :sasl
-insert servermsglogged : +0 MSG :*.?.net CAP * LIST :cap-notify sasl
log 1 $ caps:bar:data set to: []
log 1 $ caps:baz:data set to: []
log 1 $ caps:cap-notify:data set to: []
-log 1 $ caps:cap-notify:enabled set to: [True]
log 1 $ caps:foo:data set to: []
log 1 $ caps:sasl:data set to: []
log 1 $ caps:sasl:data set to: [PLAIN,EXTERNAL]
+log 1 > CAP REQ :sasl
+log 1 > CAP :LIST
+insert servermsglogged : +0 MSG :*.?.net CAP * ACK :sasl
+insert servermsglogged : +0 MSG :*.?.net CAP * LIST :cap-notify sasl
+log 1 $ caps:cap-notify:enabled set to: [True]
log 1 $ caps:sasl:enabled set to: [True]
# authenticate via SASL, collect items of user identity
log 1 $ sasl_auth_state set to: [attempting]