async def async_update(self) -> None: """Get the latest data.""" try: items, _ = await self._calendar_service.async_list_events( self._calendar_id, search=self._search) except ServerNotFoundError as err: _LOGGER.error("Unable to connect to Google: %s", err) return # Pick the first visible event. Make a copy since calculate_offset mutates the event valid_items = filter(self._event_filter, items) self._event = copy.deepcopy(next(valid_items, None)) if self._event: calculate_offset(self._event, self._offset) self._offset_reached = is_offset_reached(self._event)
def update(self) -> None: """Update event data.""" self.data.update() event = copy.deepcopy(self.data.event) if event is None: self._event = event return event = calculate_offset(event, self._offset) self._offset_reached = is_offset_reached(event) self._event = event
def update(self): """Update event data.""" self.data.update() event = copy.deepcopy(self.data.event) if event is None: self._event = event return event = calculate_offset(event, OFFSET) self._event = event self._attr_extra_state_attributes = {"offset_reached": is_offset_reached(event)}
async def async_update(self): """Update event data.""" _LOGGER.debug("Running ICalCalendarEventDevice async update for %s", self.name) await self.ical_events.update() event = copy.deepcopy(self.ical_events.event) if event is None: self._event = event return event = calculate_offset(event, OFFSET) self._event = copy.deepcopy(event) self._event["start"] = {} self._event["end"] = {} self._event["start"]["dateTime"] = event["start"].isoformat() self._event["end"]["dateTime"] = event["end"].isoformat() self._offset_reached = is_offset_reached(self.event) self._event["all_day"] = event["all_day"]
async def async_update(self): await self.data.async_update(self.hass) event = copy.deepcopy(self.data.event) if event is None: self._event = event return event = calculate_offset(event, DEFAULT_OFFSET) self._offset_reached = is_offset_reached(event) events = list(await self.hass.async_add_executor_job(self.data.o365_get_events, datetime.now() + timedelta(hours=self.start_offset), datetime.now() + timedelta(hours=self.end_offset), ) ) self._data_attribute = [ format_event_data(x, self.data.calendar.calendar_id) for x in events ] self._data_attribute.sort(key=itemgetter("start")) self._event = event