Bump ical to 4.5.0 (#89744)

This commit is contained in:
Allen Porter 2023-03-15 10:06:46 -07:00 committed by GitHub
parent 6b768b90b4
commit b588b8b215
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 42 additions and 15 deletions

View file

@ -9,7 +9,7 @@ from typing import Any
from ical.calendar import Calendar
from ical.calendar_stream import IcsCalendarStream
from ical.event import Event
from ical.store import EventStore
from ical.store import EventStore, EventStoreError
from ical.types import Range, Recur
from pydantic import ValidationError
import voluptuous as vol
@ -24,6 +24,7 @@ from homeassistant.components.calendar import (
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util import dt as dt_util
@ -119,11 +120,14 @@ class LocalCalendarEntity(CalendarEntity):
range_value: Range = Range.NONE
if recurrence_range == Range.THIS_AND_FUTURE:
range_value = Range.THIS_AND_FUTURE
EventStore(self._calendar).delete(
uid,
recurrence_id=recurrence_id,
recurrence_range=range_value,
)
try:
EventStore(self._calendar).delete(
uid,
recurrence_id=recurrence_id,
recurrence_range=range_value,
)
except EventStoreError as err:
raise HomeAssistantError("Error while deleting event: {err}") from err
await self._async_store()
await self.async_update_ha_state(force_refresh=True)
@ -139,12 +143,15 @@ class LocalCalendarEntity(CalendarEntity):
range_value: Range = Range.NONE
if recurrence_range == Range.THIS_AND_FUTURE:
range_value = Range.THIS_AND_FUTURE
EventStore(self._calendar).edit(
uid,
new_event,
recurrence_id=recurrence_id,
recurrence_range=range_value,
)
try:
EventStore(self._calendar).edit(
uid,
new_event,
recurrence_id=recurrence_id,
recurrence_range=range_value,
)
except EventStoreError as err:
raise HomeAssistantError("Error while updating event: {err}") from err
await self._async_store()
await self.async_update_ha_state(force_refresh=True)

View file

@ -6,5 +6,5 @@
"documentation": "https://www.home-assistant.io/integrations/local_calendar",
"iot_class": "local_polling",
"loggers": ["ical"],
"requirements": ["ical==4.2.9"]
"requirements": ["ical==4.5.0"]
}

View file

@ -952,7 +952,7 @@ ibm-watson==5.2.2
ibmiotf==0.3.4
# homeassistant.components.local_calendar
ical==4.2.9
ical==4.5.0
# homeassistant.components.ping
icmplib==3.0

View file

@ -723,7 +723,7 @@ iaqualink==0.5.0
ibeacon_ble==1.0.1
# homeassistant.components.local_calendar
ical==4.2.9
ical==4.5.0
# homeassistant.components.ping
icmplib==3.0

View file

@ -829,6 +829,26 @@ async def test_update_invalid_event_id(
assert resp["error"].get("code") == "failed"
async def test_delete_invalid_event_id(
ws_client: ClientFixture,
setup_integration: None,
hass: HomeAssistant,
) -> None:
"""Test deleting an event with an invalid event uid."""
client = await ws_client()
resp = await client.cmd(
"delete",
{
"entity_id": TEST_ENTITY,
"uid": "uid-does-not-exist",
},
)
assert resp
assert not resp.get("success")
assert "error" in resp
assert resp["error"].get("code") == "failed"
@pytest.mark.parametrize(
("start_date_time", "end_date_time"),
[