Преглед изворни кода

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>
David Greaves пре 8 месеци
родитељ
комит
5c2e6377a2
1 измењених фајлова са 4 додато и 4 уклоњено
  1. 4 4
      radicale/app/report.py

+ 4 - 4
radicale/app/report.py

@@ -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)