aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent/formats
diff options
context:
space:
mode:
Diffstat (limited to 'module/vcomponent/formats')
-rw-r--r--module/vcomponent/formats/ical.scm18
-rw-r--r--module/vcomponent/formats/xcal.scm20
2 files changed, 38 insertions, 0 deletions
diff --git a/module/vcomponent/formats/ical.scm b/module/vcomponent/formats/ical.scm
new file mode 100644
index 00000000..294642de
--- /dev/null
+++ b/module/vcomponent/formats/ical.scm
@@ -0,0 +1,18 @@
+(define-module (vcomponent formats ical)
+ :use-module ((vcomponent formats ical output)
+ :select (component->ical-string))
+ :use-module ((vcomponent formats ical parse)
+ :select (parse-calendar))
+ :export (serialize
+ deserialize
+ )
+ )
+
+
+(define (serialize component port)
+ (display (component->ical-string component)
+ port))
+
+(define (deserialize port)
+ (parse-calendar port)
+ )
diff --git a/module/vcomponent/formats/xcal.scm b/module/vcomponent/formats/xcal.scm
new file mode 100644
index 00000000..2732a5a7
--- /dev/null
+++ b/module/vcomponent/formats/xcal.scm
@@ -0,0 +1,20 @@
+(define-module (vcomponent formats xcal)
+ :use-module (sxml simple)
+ :use-module ((vcomponent formats xcal output)
+ :select (vcomponent->sxcal ns-wrap))
+ :use-module ((vcomponent formats xcal parse)
+ :select (sxcal->vcomponent))
+ :use-module ((hnh util) :select (->))
+ :export (serialize deserialize))
+
+
+(define (serialize component port)
+ (-> (vcomponent->sxcal component)
+ ns-wrap
+ (sxml->xml port)
+ ))
+
+
+(define (deserialize port)
+ (-> (xml->sxml port)
+ sxcal->vcomponent))