mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 03:07:37 +00:00
Improve local calendar input validation error handling (#83563)
This commit is contained in:
parent
4f63eab453
commit
16f94e68b3
@ -11,6 +11,8 @@ from ical.calendar_stream import IcsCalendarStream
|
||||
from ical.event import Event
|
||||
from ical.store import EventStore
|
||||
from ical.types import Range, Recur
|
||||
from pydantic import ValidationError
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components.calendar import (
|
||||
EVENT_DESCRIPTION,
|
||||
@ -102,14 +104,19 @@ class LocalCalendarEntity(CalendarEntity):
|
||||
|
||||
async def async_create_event(self, **kwargs: Any) -> None:
|
||||
"""Add a new event to calendar."""
|
||||
event = Event.parse_obj(
|
||||
{
|
||||
event_data = {
|
||||
EVENT_SUMMARY: kwargs[EVENT_SUMMARY],
|
||||
EVENT_START: kwargs[EVENT_START],
|
||||
EVENT_END: kwargs[EVENT_END],
|
||||
EVENT_DESCRIPTION: kwargs.get(EVENT_DESCRIPTION),
|
||||
}
|
||||
try:
|
||||
event = Event.parse_obj(event_data)
|
||||
except ValidationError as err:
|
||||
_LOGGER.debug(
|
||||
"Error parsing event input fields: %s (%s)", event_data, str(err)
|
||||
)
|
||||
raise vol.Invalid("Error parsing event input fields") from err
|
||||
if rrule := kwargs.get(EVENT_RRULE):
|
||||
event.rrule = Recur.from_rrule(rrule)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user