|
|
@@ -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()
|
|
|
|