mirror of
https://github.com/home-assistant/core.git
synced 2026-08-24 10:13:52 -05:00
Use the non-deprecated vobject_instance in caldav (#179819)
Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude
parent
1ff08153a1
commit
149f0316f2
@@ -67,10 +67,10 @@ class CalDavUpdateCoordinator(DataUpdateCoordinator[CalendarEvent | None]):
|
|||||||
)
|
)
|
||||||
event_list = []
|
event_list = []
|
||||||
for event in vevent_list:
|
for event in vevent_list:
|
||||||
if not hasattr(event.instance, "vevent"):
|
if not hasattr(event.vobject_instance, "vevent"):
|
||||||
_LOGGER.warning("Skipped event with missing 'vevent' property")
|
_LOGGER.warning("Skipped event with missing 'vevent' property")
|
||||||
continue
|
continue
|
||||||
vevent = event.instance.vevent
|
vevent = event.vobject_instance.vevent
|
||||||
if not self.is_matching(vevent, self.search):
|
if not self.is_matching(vevent, self.search):
|
||||||
continue
|
continue
|
||||||
event_list.append(
|
event_list.append(
|
||||||
@@ -122,10 +122,10 @@ class CalDavUpdateCoordinator(DataUpdateCoordinator[CalendarEvent | None]):
|
|||||||
# and they would not be properly parsed using their original start/end dates.
|
# and they would not be properly parsed using their original start/end dates.
|
||||||
new_events = []
|
new_events = []
|
||||||
for event in results:
|
for event in results:
|
||||||
if not hasattr(event.instance, "vevent"):
|
if not hasattr(event.vobject_instance, "vevent"):
|
||||||
_LOGGER.warning("Skipped event with missing 'vevent' property")
|
_LOGGER.warning("Skipped event with missing 'vevent' property")
|
||||||
continue
|
continue
|
||||||
vevent = event.instance.vevent
|
vevent = event.vobject_instance.vevent
|
||||||
for start_dt in vevent.getrruleset() or []:
|
for start_dt in vevent.getrruleset() or []:
|
||||||
_start_of_today: date | datetime
|
_start_of_today: date | datetime
|
||||||
_start_of_tomorrow: datetime | date
|
_start_of_tomorrow: datetime | date
|
||||||
@@ -138,7 +138,7 @@ class CalDavUpdateCoordinator(DataUpdateCoordinator[CalendarEvent | None]):
|
|||||||
_start_of_tomorrow = start_of_tomorrow
|
_start_of_tomorrow = start_of_tomorrow
|
||||||
if _start_of_today <= start_dt < _start_of_tomorrow:
|
if _start_of_today <= start_dt < _start_of_tomorrow:
|
||||||
new_event = event.copy()
|
new_event = event.copy()
|
||||||
new_vevent = new_event.instance.vevent # type: ignore[attr-defined]
|
new_vevent = new_event.vobject_instance.vevent # type: ignore[attr-defined]
|
||||||
if hasattr(new_vevent, "dtend"):
|
if hasattr(new_vevent, "dtend"):
|
||||||
dur = new_vevent.dtend.value - new_vevent.dtstart.value
|
dur = new_vevent.dtend.value - new_vevent.dtstart.value
|
||||||
new_vevent.dtend.value = start_dt + dur
|
new_vevent.dtend.value = start_dt + dur
|
||||||
@@ -147,9 +147,9 @@ class CalDavUpdateCoordinator(DataUpdateCoordinator[CalendarEvent | None]):
|
|||||||
elif _start_of_tomorrow <= start_dt:
|
elif _start_of_tomorrow <= start_dt:
|
||||||
break
|
break
|
||||||
vevents = [
|
vevents = [
|
||||||
event.instance.vevent
|
event.vobject_instance.vevent
|
||||||
for event in results + new_events
|
for event in results + new_events
|
||||||
if hasattr(event.instance, "vevent")
|
if hasattr(event.vobject_instance, "vevent")
|
||||||
]
|
]
|
||||||
|
|
||||||
# dtstart can be a date or datetime depending if the event lasts a
|
# dtstart can be a date or datetime depending if the event lasts a
|
||||||
|
|||||||
@@ -73,8 +73,8 @@ def _get_todo_items(calendar: caldav.Calendar) -> list[TodoItem]:
|
|||||||
def _todo_item(resource: caldav.CalendarObjectResource) -> TodoItem | None:
|
def _todo_item(resource: caldav.CalendarObjectResource) -> TodoItem | None:
|
||||||
"""Convert a caldav Todo into a TodoItem."""
|
"""Convert a caldav Todo into a TodoItem."""
|
||||||
if (
|
if (
|
||||||
not hasattr(resource.instance, "vtodo")
|
not hasattr(resource.vobject_instance, "vtodo")
|
||||||
or not (todo := resource.instance.vtodo)
|
or not (todo := resource.vobject_instance.vtodo)
|
||||||
or (uid := get_attr_value(todo, "uid")) is None
|
or (uid := get_attr_value(todo, "uid")) is None
|
||||||
or (summary := get_attr_value(todo, "summary")) is None
|
or (summary := get_attr_value(todo, "summary")) is None
|
||||||
):
|
):
|
||||||
|
|||||||
Reference in New Issue
Block a user