style: trim pairing sender-id comments

maintainer edit: remove redundant explanatory comments from the focused sender-id normalization tests and store change without changing behavior.
This commit is contained in:
chengyongru
2026-06-24 10:29:58 +08:00
committed by Xubin Ren
parent d7f868b832
commit c55f7ec5bb
2 changed files with 1 additions and 19 deletions
+1 -7
View File
@@ -44,10 +44,7 @@ def _load() -> dict[str, Any]:
logger.warning("Corrupted pairing store, resetting")
return {"approved": {}, "pending": {}}
# Convert approved lists to sets for O(1) lookup. Sender IDs are normalized
# to str so lookups match is_approved()/revoke(), which coerce with str():
# IDs may be numeric (e.g. Telegram/QQ) in code or in a hand-edited
# pairing.json, and an int entry would never match the str() lookup.
# Convert approved lists to str sets for O(1) lookup.
for channel, users in data.get("approved", {}).items():
data["approved"][channel] = {str(u) for u in users}
return data
@@ -113,9 +110,6 @@ def approve_code(code: str) -> tuple[str, str] | None:
if info is None:
return None
channel = info["channel"]
# Coerce to str: a hand-edited pending entry may carry a numeric
# sender_id, which would otherwise add an int to the (str-normalized)
# approved set and break _save()'s sorted() on the mixed-type set.
sender_id = str(info["sender_id"])
data.setdefault("approved", {}).setdefault(channel, set()).add(sender_id)
_save(data)