Просмотр исходного кода

warn when wifi_key is generated fresh in Reservation.set()

ZiB 4 месяцев назад
Родитель
Сommit
5257f5cd36
1 измененных файлов с 9 добавлено и 1 удалено
  1. 9 1
      room_cal/reservations/__init__.py

+ 9 - 1
room_cal/reservations/__init__.py

@@ -1,4 +1,5 @@
 import json
+import logging
 from dataclasses import dataclass, field
 from datetime import date, datetime, timedelta
 from zoneinfo import ZoneInfo
@@ -7,6 +8,7 @@ from room_cal._utils import EventSource, safe_json_loads, filter_events, service
 from room_cal._mnemonic import wifi_key as _gen_wifi_key, door_code as _gen_door_code
 
 _PREFIX = 'Guest: '
+_log = logging.getLogger(__name__)
 
 
 @dataclass
@@ -49,7 +51,13 @@ class Reservation(StoreBacked, EventSource):
     defaults = _reservation_defaults()
     # Stored value wins over upstream: first import picks up the upstream value, subsequent updates keep local.
     xd = existing_xd or {}
-    wk = xd.get('wifi_key') or data.get('wifi_key') or defaults.wifi_key or _gen_wifi_key()
+    stored_wk = xd.get('wifi_key') or data.get('wifi_key') or defaults.wifi_key
+    wk = stored_wk or _gen_wifi_key()
+    if not stored_wk:
+      _log.warning(
+        'reservation %s: generating new wifi_key (existing_found=%s, existing_had_key=%s)',
+        data.get('reservation_id'), existing is not None, bool((existing_xd or {}).get('wifi_key')),
+      )
     ws = xd.get('wifi_ssid') or data.get('wifi_ssid') or defaults.wifi_ssid
     dc = xd.get('door_code') or data.get('door_code') or defaults.door_code or _gen_door_code()