(#1979) Fix invalid RECURRENCE-ID comparsion for all-day events
This commit is contained in:
@@ -471,7 +471,13 @@ def _expand(
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
# Check for overridden instances
|
# Check for overridden instances
|
||||||
i_overridden, vevent = _find_overridden(i_overridden, vevents_overridden, recurrence_utc, dt_format)
|
i_overridden, vevent = _find_overridden(
|
||||||
|
i_overridden,
|
||||||
|
vevents_overridden,
|
||||||
|
recurrence_utc,
|
||||||
|
dt_format,
|
||||||
|
all_day_event,
|
||||||
|
)
|
||||||
|
|
||||||
if not vevent:
|
if not vevent:
|
||||||
# Create new instance from recurrence
|
# Create new instance from recurrence
|
||||||
@@ -649,13 +655,13 @@ def _find_overridden(
|
|||||||
start: int,
|
start: int,
|
||||||
vevents: List[vobject.icalendar.RecurringComponent],
|
vevents: List[vobject.icalendar.RecurringComponent],
|
||||||
dt: datetime.datetime,
|
dt: datetime.datetime,
|
||||||
dt_format: str
|
dt_format: str,
|
||||||
|
all_day_event: bool,
|
||||||
) -> Tuple[int, Optional[vobject.icalendar.RecurringComponent]]:
|
) -> Tuple[int, Optional[vobject.icalendar.RecurringComponent]]:
|
||||||
for i in range(start, len(vevents)):
|
for i in range(start, len(vevents)):
|
||||||
dt_event = datetime.datetime.strptime(
|
dt_event = datetime.datetime.strptime(vevents[i].recurrence_id.value, dt_format)
|
||||||
vevents[i].recurrence_id.value,
|
if not all_day_event:
|
||||||
dt_format
|
dt_event = dt_event.replace(tzinfo=datetime.timezone.utc)
|
||||||
).replace(tzinfo=datetime.timezone.utc)
|
|
||||||
if dt_event == dt:
|
if dt_event == dt:
|
||||||
return (i + 1, vevents[i])
|
return (i + 1, vevents[i])
|
||||||
return (start, None)
|
return (start, None)
|
||||||
|
|||||||
Reference in New Issue
Block a user