Fix bug in caldav and avoid unnecessary copy of dataclass (#72922)

This commit is contained in:
Allen Porter 2022-06-02 08:40:13 -07:00 committed by GitHub
parent d3b1896a06
commit 8c50c7fbd4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 10 deletions

View File

@ -1,7 +1,6 @@
"""Support for WebDav Calendar."""
from __future__ import annotations
import copy
from datetime import datetime, timedelta
import logging
import re
@ -143,15 +142,13 @@ class WebDavCalendarEntity(CalendarEntity):
def update(self):
"""Update event data."""
self.data.update()
event = copy.deepcopy(self.data.event)
if event is None:
self._event = event
return
(summary, offset) = extract_offset(event.summary, OFFSET)
event.summary = summary
self._event = event
self._event = self.data.event
self._attr_extra_state_attributes = {
"offset_reached": is_offset_reached(event.start_datetime_local, offset)
"offset_reached": is_offset_reached(
self._event.start_datetime_local, self.data.offset
)
if self._event
else False
}
@ -165,6 +162,7 @@ class WebDavCalendarData:
self.include_all_day = include_all_day
self.search = search
self.event = None
self.offset = None
async def async_get_events(
self, hass: HomeAssistant, start_date: datetime, end_date: datetime
@ -264,13 +262,15 @@ class WebDavCalendarData:
return
# Populate the entity attributes with the event values
(summary, offset) = extract_offset(vevent.summary.value, OFFSET)
self.event = CalendarEvent(
summary=vevent.summary.value,
summary=summary,
start=vevent.dtstart.value,
end=self.get_end_date(vevent),
location=self.get_attr_value(vevent, "location"),
description=self.get_attr_value(vevent, "description"),
)
self.offset = offset
@staticmethod
def is_matching(vevent, search):