From d509f3479d9c94831090ddc0049d14c7bdb2bae7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Tue, 26 Feb 2019 01:25:54 +0100 Subject: Add simple sorted agenda to code.scm. --- code.scm | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'code.scm') diff --git a/code.scm b/code.scm index 4de59236..44444c3a 100755 --- a/code.scm +++ b/code.scm @@ -7,15 +7,26 @@ (srfi srfi-26) (vcalendar)) -(define cal (make-vcomponent "testcal/d1-b.ics")) +(define path + (if (null? (cdr (command-line))) + "testcal/d1-b.ics" + (cadr (command-line)))) +(define cal (make-vcomponent path)) + +;;; Parse all start times into scheme date objects. (for-each (cut transform-attr! <> "DTSTART" (cut string->date <> "~Y~m~dT~H~M~S")) (children cal)) -(display (get-attr (car (children cal)) - "DTSTART")) -(newline) -(display (get-attr (car (children cal)) - "DTSTART")) -(newline) +;;; Sort the events, and print a simple agenda. +(let ((sorted-events + (sort (children cal) + (lambda (a b) + (timetime-utc (get-attr a "DTSTART")) + (date->time-utc (get-attr b "DTSTART"))))))) + (for-each (lambda (ev) (format #t "~a | ~a~%" + (date->string (get-attr ev "DTSTART") "~1 ~H:~M") + (get-attr ev "SUMMARY"))) + sorted-events)) + -- cgit v1.2.3