From 72f41620c8c674fe1232f07bedd91bf0d7874ea2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Thu, 25 Jun 2020 22:36:15 +0200 Subject: Fix GEO output. --- module/output/ical.scm | 6 +++++- module/vcomponent/geo.scm | 11 +++++++++++ module/vcomponent/parse/component.scm | 6 +----- 3 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 module/vcomponent/geo.scm (limited to 'module') diff --git a/module/output/ical.scm b/module/output/ical.scm index 013de5fb..b10e0c56 100644 --- a/module/output/ical.scm +++ b/module/output/ical.scm @@ -65,7 +65,11 @@ (get-writer 'INTEGER)] [(memv key '(GEO)) - (error "Fuck you")] + (lambda (_ v) + (define fl (get-writer 'FLOAT)) + (format #f "~a:~a" + (fl (geo-latitude v)) + (fl (geo-longitude v))))] [(memv key '(RRULE)) (get-writer 'RECUR)] diff --git a/module/vcomponent/geo.scm b/module/vcomponent/geo.scm new file mode 100644 index 00000000..2a343ed9 --- /dev/null +++ b/module/vcomponent/geo.scm @@ -0,0 +1,11 @@ +(define-module (vcomponent geo) + :use-module (util) + :use-module (srfi srfi-9 gnu)) + +(define-immutable-record-type + (make-geo latitude longitude) + geo-pos? + (latitude geo-latitude) + (longitude geo-longitude)) + +(export make-geo geo-pos? geo-latitude geo-longitude) diff --git a/module/vcomponent/parse/component.scm b/module/vcomponent/parse/component.scm index f7dbdf71..6f522e8f 100644 --- a/module/vcomponent/parse/component.scm +++ b/module/vcomponent/parse/component.scm @@ -8,6 +8,7 @@ :use-module (srfi srfi-9 gnu) :use-module (srfi srfi-26) :use-module (vcomponent parse types) + :use-module (vcomponent geo) ) (define-public (parse-calendar port) @@ -20,11 +21,6 @@ (file get-file) (line get-line)) -(define-immutable-record-type - (make-geo latitude longitude) - geo-pos? - (latitude geo-latitude) - (longitude geo-longitude)) ;; port → (list ) (define (read-file port) -- cgit v1.2.3