aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent/formats
diff options
context:
space:
mode:
Diffstat (limited to 'module/vcomponent/formats')
-rw-r--r--module/vcomponent/formats/ical.scm7
-rw-r--r--module/vcomponent/formats/ical/output.scm5
-rw-r--r--module/vcomponent/formats/sxcal.scm13
-rw-r--r--module/vcomponent/formats/xcal.scm3
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)