1 """Demo platform that has two fake calendars."""
3 from __future__
import annotations
16 config_entry: ConfigEntry,
17 async_add_entities: AddEntitiesCallback,
19 """Set up the Demo Calendar config entry."""
29 """Representation of a Demo Calendar for a future event."""
30 half_hour_from_now = dt_util.now() + datetime.timedelta(minutes=30)
32 start=half_hour_from_now,
33 end=half_hour_from_now + datetime.timedelta(minutes=60),
34 summary=
"Future Event",
35 description=
"Future Description",
36 location=
"Future Location",
41 """Representation of a Demo Calendar for a current event."""
42 middle_of_event = dt_util.now() - datetime.timedelta(minutes=30)
44 start=middle_of_event,
45 end=middle_of_event + datetime.timedelta(minutes=60),
46 summary=
"Current Event",
51 """Representation of a Demo Calendar element."""
53 def __init__(self, event: CalendarEvent, name: str) ->
None:
54 """Initialize demo calendar."""
59 def event(self) -> CalendarEvent:
60 """Return the next upcoming event."""
66 start_date: datetime.datetime,
67 end_date: datetime.datetime,
68 ) -> list[CalendarEvent]:
69 """Return calendar events within a datetime range."""
70 assert start_date < end_date
71 if self.
_event_event.start_datetime_local >= end_date:
73 if self.
_event_event.end_datetime_local < start_date:
None __init__(self, CalendarEvent event, str name)
list[CalendarEvent] async_get_events(self, HomeAssistant hass, datetime.datetime start_date, datetime.datetime end_date)
CalendarEvent event(self)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
CalendarEvent calendar_data_current()
CalendarEvent calendar_data_future()