|
@@ -111,12 +111,17 @@ class RoomCalCoordinator(DataUpdateCoordinator[CoordinatorData]):
|
|
|
username = self.entry.data.get(CONF_USERNAME, "")
|
|
username = self.entry.data.get(CONF_USERNAME, "")
|
|
|
password = self.entry.data.get(CONF_PASSWORD, "")
|
|
password = self.entry.data.get(CONF_PASSWORD, "")
|
|
|
|
|
|
|
|
|
|
+ _LOGGER.debug("CalDAV connecting to %s as %r", url, username)
|
|
|
client = caldav.DAVClient(url=url, username=username, password=password)
|
|
client = caldav.DAVClient(url=url, username=username, password=password)
|
|
|
principal = client.principal()
|
|
principal = client.principal()
|
|
|
|
|
+ _LOGGER.debug("CalDAV principal resolved: %s", principal)
|
|
|
|
|
|
|
|
|
|
+ _LOGGER.debug("CalDAV searching for calendar %r", cal_name)
|
|
|
calendar = None
|
|
calendar = None
|
|
|
for cal in principal.calendars():
|
|
for cal in principal.calendars():
|
|
|
- if cal_name and cal.name == cal_name:
|
|
|
|
|
|
|
+ name = cal.get_display_name()
|
|
|
|
|
+ _LOGGER.debug("CalDAV found calendar %r", name)
|
|
|
|
|
+ if cal_name and name == cal_name:
|
|
|
calendar = cal
|
|
calendar = cal
|
|
|
break
|
|
break
|
|
|
if not cal_name:
|
|
if not cal_name:
|
|
@@ -124,15 +129,18 @@ class RoomCalCoordinator(DataUpdateCoordinator[CoordinatorData]):
|
|
|
break
|
|
break
|
|
|
|
|
|
|
|
if calendar is None:
|
|
if calendar is None:
|
|
|
- _LOGGER.warning("Calendar %r not found", cal_name)
|
|
|
|
|
|
|
+ _LOGGER.warning("CalDAV calendar %r not found", cal_name)
|
|
|
return None, None
|
|
return None, None
|
|
|
|
|
|
|
|
|
|
+ _LOGGER.debug("CalDAV using calendar %r", cal.get_display_name())
|
|
|
now = dt_util.now()
|
|
now = dt_util.now()
|
|
|
|
|
+ _LOGGER.debug("CalDAV searching events from %s to %s", now, now + timedelta(days=90))
|
|
|
events = calendar.date_search(
|
|
events = calendar.date_search(
|
|
|
start=now,
|
|
start=now,
|
|
|
end=now + timedelta(days=90),
|
|
end=now + timedelta(days=90),
|
|
|
expand=True,
|
|
expand=True,
|
|
|
)
|
|
)
|
|
|
|
|
+ _LOGGER.debug("CalDAV found %d event(s)", len(events) if hasattr(events, "__len__") else -1)
|
|
|
|
|
|
|
|
parsed = sorted(
|
|
parsed = sorted(
|
|
|
[e for e in (_parse_event(ev) for ev in events) if e is not None],
|
|
[e for e in (_parse_event(ev) for ev in events) if e is not None],
|