class _ClientDb(_Clearable, _UpdatingAttrsMixin, SharedClientDbFields):
- _updates_cache: dict[tuple[str, ...], Any] = {}
- _keep_on_clear = set(IrcConnSetup.__annotations__.keys())
+ _updates_cache: dict[tuple[str, ...], Any]
+ _keep_on_clear = frozenset(IrcConnSetup.__annotations__.keys())
caps: _UpdatingDict[_UpdatingServerCapability]
channels: _UpdatingChannelsDict
isupport: _UpdatingIsupportDict
motd: _UpdatingCompletableStringsOrdered
users: _UpdatingUsersDict
+ def __init__(self, **kwargs) -> None:
+ self._updates_cache = {}
+ super().__init__(**kwargs)
+
def __getattribute__(self, key: str):
attr = super().__getattribute__(key)
if key == 'channels' and attr._create_if_none is None\
# test setting up second client, but 432 irrecoverably
> /connect baz.bar.foo ?foo foo:foo
+, $ DISCONNECTED
8 $ isupport cleared
8 $ isupport:CHANTYPES set to: [#&]
8 $ isupport:PREFIX set to: [(ov)@+]
8 $ isupport:USERLEN set to: [10]
+8 $ caps cleared
+8 $ users cleared
+8 $ channels cleared
8 $ hostname set to: [baz.bar.foo]
8 $ port set to: [-1]
8 $ nick_wanted set to: [?foo]
# test failing third connection
> /connect baz.baz.baz baz baz:baz
+, $ DISCONNECTED
9 $ isupport cleared
9 $ isupport:CHANTYPES set to: [#&]
9 $ isupport:PREFIX set to: [(ov)@+]
9 $ isupport:USERLEN set to: [10]
+9 $ caps cleared
+9 $ users cleared
+9 $ channels cleared
9 $ hostname set to: [baz.baz.baz]
9 $ port set to: [-1]
9 $ nick_wanted set to: [baz]