aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-06-28 09:35:44 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2022-07-07 21:14:09 +0200
commita719117e7e29749f7ff340107a3c4f174d12b7f9 (patch)
treee9988aaec33da86ae735802df83d3dc05a205a04
parentNote that with-working-directory isn't thread-safe. (diff)
downloadcalp-a719117e7e29749f7ff340107a3c4f174d12b7f9.tar.gz
calp-a719117e7e29749f7ff340107a3c4f174d12b7f9.tar.xz
Cleanup (vcomponent datetime).
-rw-r--r--module/vcomponent/datetime.scm16
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)))