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

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 json
+import logging
 from dataclasses import dataclass, field
 from dataclasses import dataclass, field
 from datetime import date, datetime, timedelta
 from datetime import date, datetime, timedelta
 from zoneinfo import ZoneInfo
 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
 from room_cal._mnemonic import wifi_key as _gen_wifi_key, door_code as _gen_door_code
 
 
 _PREFIX = 'Guest: '
 _PREFIX = 'Guest: '
+_log = logging.getLogger(__name__)
 
 
 
 
 @dataclass
 @dataclass
@@ -49,7 +51,13 @@ class Reservation(StoreBacked, EventSource):
     defaults = _reservation_defaults()
     defaults = _reservation_defaults()
     # Stored value wins over upstream: first import picks up the upstream value, subsequent updates keep local.
     # Stored value wins over upstream: first import picks up the upstream value, subsequent updates keep local.
     xd = existing_xd or {}
     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
     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()
     dc = xd.get('door_code') or data.get('door_code') or defaults.door_code or _gen_door_code()