diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-04-27 03:02:00 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-04-27 03:02:00 +0200 |
commit | 4a63bd27c432e5c9f04309219bad3ef83814c45a (patch) | |
tree | 61a9d664960b832790f66d23a9632f76577b1b0f | |
parent | TODO additions. (diff) | |
download | calp-4a63bd27c432e5c9f04309219bad3ef83814c45a.tar.gz calp-4a63bd27c432e5c9f04309219bad3ef83814c45a.tar.xz |
Add final-event-occurence procedure.
Diffstat (limited to '')
-rw-r--r-- | module/datetime/zic.scm | 2 | ||||
-rw-r--r-- | module/vcomponent/recurrence/generate-alt.scm | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/module/datetime/zic.scm b/module/datetime/zic.scm index e9be7701..52457ada 100644 --- a/module/datetime/zic.scm +++ b/module/datetime/zic.scm @@ -102,7 +102,7 @@ (stdoff zone-entry-stdoff) ; <timespec> (rule zone-entry-rule) ; #f | symbol | <timespec> (format zone-entry-format) ; string - (until zone-entry-until)) ; <datetime> + (until zone-entry-until)) ; <datetime> | #f (export zone-entry? zone-entry-stdoff zone-entry-rule zone-entry-format zone-entry-until) 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) |