diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-04-12 11:18:25 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-04-12 11:51:08 +0200 |
commit | 81fc535b2b8cb2a726c8514f2ae91e913ac157c7 (patch) | |
tree | d37e85a0f87f9a3464f5e57c4de1241d671faf1c /module/vcomponent/formats | |
parent | UNFINISHED work on formats. (diff) | |
download | calp-81fc535b2b8cb2a726c8514f2ae91e913ac157c7.tar.gz calp-81fc535b2b8cb2a726c8514f2ae91e913ac157c7.tar.xz |
UNFINISHED work on data stores and formats.
Diffstat (limited to 'module/vcomponent/formats')
-rw-r--r-- | module/vcomponent/formats/ical.scm | 7 | ||||
-rw-r--r-- | module/vcomponent/formats/ical/output.scm | 5 | ||||
-rw-r--r-- | module/vcomponent/formats/sxcal.scm | 13 | ||||
-rw-r--r-- | module/vcomponent/formats/xcal.scm | 3 |
4 files changed, 16 insertions, 12 deletions
diff --git a/module/vcomponent/formats/ical.scm b/module/vcomponent/formats/ical.scm index 294642de..dddca946 100644 --- a/module/vcomponent/formats/ical.scm +++ b/module/vcomponent/formats/ical.scm @@ -10,9 +10,8 @@ (define (serialize component port) - (display (component->ical-string component) - port)) + (with-output-to-port port + (lambda () (component->ical-string component)))) (define (deserialize port) - (parse-calendar port) - ) + (parse-calendar port)) diff --git a/module/vcomponent/formats/ical/output.scm b/module/vcomponent/formats/ical/output.scm index 4d37dff6..57860d2a 100644 --- a/module/vcomponent/formats/ical/output.scm +++ b/module/vcomponent/formats/ical/output.scm @@ -16,6 +16,7 @@ :use-module (vcomponent geo) :use-module (vcomponent formats ical types) :use-module (vcomponent recurrence) + :use-module ((calp) :select (prodid)) :use-module (calp translation) :autoload (vcomponent util instance) (global-event-object) :export (component->ical-string @@ -24,10 +25,6 @@ print-events-in-interval )) -(define (prodid) - (format #f "-//hugo//calp ~a//EN" - (@ (calp) version))) - ;; Format value depending on key type. ;; Should NOT emit the key. diff --git a/module/vcomponent/formats/sxcal.scm b/module/vcomponent/formats/sxcal.scm index caf453ec..c02dbada 100644 --- a/module/vcomponent/formats/sxcal.scm +++ b/module/vcomponent/formats/sxcal.scm @@ -1,11 +1,16 @@ (define-module (vcomponent formats sxcal) - :export (serialize deserialize) - ) + :use-module ((vcomponent formats xcal parse) + :select (sxcal->vcomponent)) + :export (serialize deserialize) + ) (define (serialize component port) - 'TODO - ) + (write (serialize/object component) port)) + +(define (serialize/object component) + ;; TODO where is this defined? + (vcomponent->sxcal component)) (define (deserialize port) (sxcal->vcomponent port)) diff --git a/module/vcomponent/formats/xcal.scm b/module/vcomponent/formats/xcal.scm index 2732a5a7..cfc70a92 100644 --- a/module/vcomponent/formats/xcal.scm +++ b/module/vcomponent/formats/xcal.scm @@ -14,6 +14,9 @@ (sxml->xml port) )) +(define (serialize/object component) + (call-with-output-string (lambda (p) (serialize component p)))) + (define (deserialize port) (-> (xml->sxml port) |