diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-06-28 09:35:44 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-07-07 21:14:09 +0200 |
commit | a719117e7e29749f7ff340107a3c4f174d12b7f9 (patch) | |
tree | e9988aaec33da86ae735802df83d3dc05a205a04 /module | |
parent | Note that with-working-directory isn't thread-safe. (diff) | |
download | calp-a719117e7e29749f7ff340107a3c4f174d12b7f9.tar.gz calp-a719117e7e29749f7ff340107a3c4f174d12b7f9.tar.xz |
Cleanup (vcomponent datetime).
Diffstat (limited to '')
-rw-r--r-- | module/vcomponent/datetime.scm | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/module/vcomponent/datetime.scm b/module/vcomponent/datetime.scm index 5c83f279..440ec5fd 100644 --- a/module/vcomponent/datetime.scm +++ b/module/vcomponent/datetime.scm @@ -1,11 +1,14 @@ (define-module (vcomponent datetime) :use-module (srfi srfi-1) + :use-module ((srfi srfi-41) :select (stream-filter)) + :use-module ((srfi srfi-41 util) :select (get-stream-interval)) :use-module (vcomponent base) :use-module (datetime) :use-module (datetime timespec) :use-module (datetime zic) :use-module (hnh util) - + :use-module ((vcomponent recurrence generate) + :select (final-event-occurence)) :use-module (ice-9 curried-definitions) :export (#;parse-datetime @@ -137,7 +140,7 @@ Event must have the DTSTART and DTEND protperty set." (if (date? (prop ev 'DTSTART)) #t (aif (prop ev 'DTEND) - (datetime<= (datetime date: (date day: 1)) + (datetime<= (datetime day: 1) (datetime-difference it (prop ev 'DTSTART))) #f))) @@ -147,7 +150,7 @@ Event must have the DTSTART and DTEND protperty set." (if (date? start) (and end (date< (date+ start (date day: 1)) end)) (and end - (datetime< (datetime date: (date day: 1)) + (datetime< (datetime day: 1) (datetime-difference end start)))))) @@ -156,8 +159,7 @@ Event must have the DTSTART and DTEND protperty set." (define (final-spanned-time event) (if (not ((@ (vcomponent recurrence) repeating?) event)) (or (prop event 'DTEND) (prop event 'DTSTART)) - (let ((final ((@ (vcomponent recurrence generate) final-event-occurence) - event))) + (let ((final (final-event-occurence event))) (if final (aif (prop event 'DTEND) (datetime+ (as-datetime final) (as-datetime it)) @@ -171,9 +173,9 @@ Event must have the DTSTART and DTEND protperty set." (prop e 'DTSTART) (or (prop e 'DTEND) (prop e 'DTSTART)))) - ((@ (srfi srfi-41) stream-filter) + (stream-filter overlaps - ((@ (srfi srfi-41 util) get-stream-interval) + (get-stream-interval overlaps (lambda (e) (not (date< end-date (as-date (prop e 'DTSTART))))) events))) |