mirror of
https://github.com/Kozea/Radicale.git
synced 2025-09-15 20:36:55 +00:00
Don't limit expansion range using EXDATE
Any EXDATE values specify single instances that must be removed from the expanded set of DTSTART values Signed-off-by: David Greaves <david@dgreaves.com>
This commit is contained in:
parent
ec3366496e
commit
5c2e6377a2
1 changed files with 4 additions and 4 deletions
|
@ -360,15 +360,13 @@ def _expand(
|
|||
elif hasattr(vevent_recurrence, "duration"):
|
||||
duration = vevent_recurrence.duration.value
|
||||
|
||||
# Handle EXDATE to limit expansion range
|
||||
# Generate EXDATE to remove from expansion range
|
||||
if hasattr(vevent_recurrence, 'exdate'):
|
||||
exdates = vevent_recurrence.exdate.value
|
||||
if not isinstance(exdates, list):
|
||||
exdates = [exdates]
|
||||
logger.debug("EXDATE values: %s", exdates)
|
||||
latest_exdate = max(exdates) if exdates else None
|
||||
if latest_exdate and end > latest_exdate:
|
||||
end = min(end, latest_exdate)
|
||||
# TODO: these exdate values are not removed from the expanded set
|
||||
|
||||
rruleset = None
|
||||
if hasattr(vevent_recurrence, 'rrule'):
|
||||
|
@ -409,6 +407,8 @@ def _expand(
|
|||
logger.debug("Recurrence %s filtered out by time-range", recurrence_utc)
|
||||
continue
|
||||
|
||||
# Check here for exdate
|
||||
|
||||
# Check for overridden instances
|
||||
i_overridden, vevent = _find_overridden(i_overridden, vevents_overridden, recurrence_utc, dt_format)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue