aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-04-27 23:02:34 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-04-27 23:02:34 +0200
commitab2f5ae1f63ff9b880b64d6be16cf7332a0563e7 (patch)
tree8ccc945c33162394194b0df63caf9be470f3a07b
parentEventlist now only scrolls vertically. (diff)
downloadcalp-ab2f5ae1f63ff9b880b64d6be16cf7332a0563e7.tar.gz
calp-ab2f5ae1f63ff9b880b64d6be16cf7332a0563e7.tar.xz
Move events-between to datetime/vcomponent.
-rw-r--r--module/output/html.scm12
-rw-r--r--module/vcomponent/datetime.scm13
2 files changed, 13 insertions, 12 deletions
diff --git a/module/output/html.scm b/module/output/html.scm
index f15776cb..d095493a 100644
--- a/module/output/html.scm
+++ b/module/output/html.scm
@@ -100,18 +100,6 @@
(values (datetime->string s fmt-str)
(datetime->string e fmt-str))))]))
-;; date, date, [sorted-stream events] → [list events]
-(define (events-between start-date end-date events)
- (define (overlaps e)
- (timespan-overlaps? start-date (date+ end-date (date day: 1))
- (attr e 'DTSTART) (attr e 'DTEND)))
-
- (stream-filter overlaps
- (get-stream-interval
- overlaps
- (lambda (e) (not (date< end-date (as-date (attr e 'DTSTART)))))
- events)))
-
diff --git a/module/vcomponent/datetime.scm b/module/vcomponent/datetime.scm
index 745bf551..44776516 100644
--- a/module/vcomponent/datetime.scm
+++ b/module/vcomponent/datetime.scm
@@ -124,6 +124,19 @@ Event must have the DTSTART and DTEND attribute set."
(as-datetime final))
#f))))
+;; date, date, [sorted-stream events] → [list events]
+(define-public (events-between start-date end-date events)
+ (define (overlaps e)
+ (timespan-overlaps? start-date (date+ end-date (date day: 1))
+ (attr e 'DTSTART) (attr e 'DTEND)))
+
+ ((@ (srfi srfi-41) stream-filter)
+ overlaps
+ ((@ (srfi srfi-41 util) get-stream-interval)
+ overlaps
+ (lambda (e) (not (date< end-date (as-date (attr e 'DTSTART)))))
+ events)))
+