Fix datetime parameter validation for list events (#95778)
parent
2f73be0e50
commit
4581c36648
|
@ -264,8 +264,8 @@ SERVICE_LIST_EVENTS_SCHEMA: Final = vol.All(
|
|||
cv.has_at_most_one_key(EVENT_END_DATETIME, EVENT_DURATION),
|
||||
cv.make_entity_service_schema(
|
||||
{
|
||||
vol.Optional(EVENT_START_DATETIME): datetime.datetime,
|
||||
vol.Optional(EVENT_END_DATETIME): datetime.datetime,
|
||||
vol.Optional(EVENT_START_DATETIME): cv.datetime,
|
||||
vol.Optional(EVENT_END_DATETIME): cv.datetime,
|
||||
vol.Optional(EVENT_DURATION): vol.All(
|
||||
cv.time_period, cv.positive_timedelta
|
||||
),
|
||||
|
|
|
@ -67,6 +67,14 @@ class DemoCalendar(CalendarEntity):
|
|||
end_date: datetime.datetime,
|
||||
) -> list[CalendarEvent]:
|
||||
"""Return calendar events within a datetime range."""
|
||||
if start_date.tzinfo is None:
|
||||
start_date = start_date.replace(
|
||||
tzinfo=dt_util.get_time_zone(hass.config.time_zone)
|
||||
)
|
||||
if end_date.tzinfo is None:
|
||||
end_date = end_date.replace(
|
||||
tzinfo=dt_util.get_time_zone(hass.config.time_zone)
|
||||
)
|
||||
assert start_date < end_date
|
||||
if self._event.start_datetime_local >= end_date:
|
||||
return []
|
||||
|
|
Loading…
Reference in New Issue