From 45edc9cd1be13899b9d65372480bbcd84511d314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sat, 9 May 2020 13:17:31 +0200 Subject: Start work on making DTEND optional. --- module/output/html.scm | 14 ++++++++------ module/vcomponent/datetime.scm | 1 + module/vcomponent/group.scm | 3 ++- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/module/output/html.scm b/module/output/html.scm index 3b17d81b..b7e369a7 100644 --- a/module/output/html.scm +++ b/module/output/html.scm @@ -94,12 +94,14 @@ ;; no end value, just return start [else (date->string s)]))] [else ; guaranteed datetime - (let ((s (attr ev 'DTSTART)) - (e (attr ev 'DTEND))) - (let ((fmt-str (if (date= (get-date s) (get-date e)) - "~H:~M" "~Y-~m-~d ~H:~M"))) - (values (datetime->string s fmt-str) - (datetime->string e fmt-str))))])) + (let ((s (attr ev 'DTSTART))) + (cond [(attr ev 'DTEND) + => (lambda (e) + (let ((fmt-str (if (date= (get-date s) (get-date e)) + "~H:~M" "~Y-~m-~d ~H:~M"))) + (values (datetime->string s fmt-str) + (datetime->string e fmt-str))))] + [else (datetime->string s "~Y-~m-~d ~H:~M")]))])) diff --git a/module/vcomponent/datetime.scm b/module/vcomponent/datetime.scm index 44776516..7fc22066 100644 --- a/module/vcomponent/datetime.scm +++ b/module/vcomponent/datetime.scm @@ -107,6 +107,7 @@ Event must have the DTSTART and DTEND attribute set." (define-public (long-event? ev) (or (date? (attr ev 'DTSTART)) (datetime<= (datetime date: (date day: 1)) + ;; TODO DTEND optional (datetime-difference (attr ev 'DTEND) (attr ev 'DTSTART))))) diff --git a/module/vcomponent/group.scm b/module/vcomponent/group.scm index 1e5728c6..da912e4d 100644 --- a/module/vcomponent/group.scm +++ b/module/vcomponent/group.scm @@ -26,7 +26,8 @@ ;; of tommorow, and finishes with the rest when it finds the first ;; object which begins tomorow (after midnight, exclusize). (filter-sorted-stream* - (lambda (e) (date/-time