From 27884c59318895bdaf9073944eb7e2037875ec0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sat, 4 Jul 2020 01:58:52 +0200 Subject: Add live import of event. --- module/entry-points/import.scm | 4 +++- module/entry-points/server.scm | 2 +- module/vcomponent.scm | 51 +++++++++++++++++++++++++++++++----------- 3 files changed, 42 insertions(+), 15 deletions(-) (limited to 'module') diff --git a/module/entry-points/import.scm b/module/entry-points/import.scm index cc67b448..3fa20055 100644 --- a/module/entry-points/import.scm +++ b/module/entry-points/import.scm @@ -49,7 +49,9 @@ (let loop ((c #\space)) (case c [(#\n #\N) (throw 'return)] - [(#\y #\Y) (map (lambda (e) (calendar-import calendar e)) + [(#\y #\Y) (map (lambda (e) + (add-event calendar e) + (save-event e)) (children new-events))] [else (let ((line (read-line))) diff --git a/module/entry-points/server.scm b/module/entry-points/server.scm index 4810dc0c..aaff398e 100644 --- a/module/entry-points/server.scm +++ b/module/entry-points/server.scm @@ -141,7 +141,7 @@ (parameterize ((warnings-are-errors #t)) (catch 'warning - (lambda () (calendar-import calendar event)) + (lambda () (add-event calendar event)) (lambda (err fmt args) (return (build-response code: 400) (format #f "~?~%" fmt args))))) diff --git a/module/vcomponent.scm b/module/vcomponent.scm index 5616394c..0020b864 100644 --- a/module/vcomponent.scm +++ b/module/vcomponent.scm @@ -37,19 +37,10 @@ (children cal))) (getf 'calendars)))) - (setf 'fixed-and-repeating-events - (let* ((repeating regular (partition repeating? (getf 'events)))) + (let* ((repeating regular (partition repeating? (getf 'events)))) + (setf 'fixed-events (sort*! regular date/-time