home · contact · privacy
Slightly loosen .id_for_nickuserhost expectations.
authorChristian Heller <c.heller@plomlompom.de>
Sat, 6 Sep 2025 10:27:29 +0000 (12:27 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Sat, 6 Sep 2025 10:27:29 +0000 (12:27 +0200)
ircplom/client.py

index d57dabea3522f0f0a8a9ba1ba5e819fbde93e0d1..31f0a3a788459875fd1d522b37bd2c2d8f9d79bd 100644 (file)
@@ -485,19 +485,16 @@ class _UpdatingUsersDict(_UpdatingDict[_UpdatingUser]):
             # .nick by definition same, check other fields for updatability;
             # allow where '?', or for set .user only to add "~" prefix, assert
             # nothing else could have changed
+            if stored.user == '?' or nickuserhost.user == f'~{stored.user}':
+                assert updating
+                stored.user = nickuserhost.user
+            else:
+                assert stored.user == nickuserhost.user
             if stored.host == '?':
                 assert updating
                 stored.host = nickuserhost.host
-                if stored.user == '?':
-                    stored.user = nickuserhost.user
-                else:
-                    assert nickuserhost.user == stored.user
-            elif nickuserhost.user == f'~{stored.user}':
-                assert updating
+            else:
                 assert stored.host == nickuserhost.host
-                stored.user = nickuserhost.user
-            else:  # not seen set .host with unset .user yet
-                assert stored.user != '?'
         elif create_if_none:
             id_ = str(uuid4())
             self[id_].nickuserhost = nickuserhost