From 4a63bd27c432e5c9f04309219bad3ef83814c45a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 27 Apr 2020 03:02:00 +0200 Subject: Add final-event-occurence procedure. --- module/vcomponent/recurrence/generate-alt.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'module/vcomponent') diff --git a/module/vcomponent/recurrence/generate-alt.scm b/module/vcomponent/recurrence/generate-alt.scm index 7337ddaa..d48e471d 100644 --- a/module/vcomponent/recurrence/generate-alt.scm +++ b/module/vcomponent/recurrence/generate-alt.scm @@ -292,6 +292,19 @@ date-stream))] [else date-stream]))) + +(define-public (final-event-occurence event) + (define rrule (parse-recurrence-rule + (attr event 'RRULE) + (if (date? (attr event 'DTSTART)) + parse-ics-date parse-ics-datetime))) + + (if (or (count rrule) (until rrule)) + (let ((instances (rrule-instances event))) + (stream-ref instances (1- (stream-length instances)))) + #f)) + + (define (generate-recurrence-set base-event) -- cgit v1.2.3