diff options
Diffstat (limited to '')
-rw-r--r-- | module/vcomponent/formats/xcal/parse.scm | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/module/vcomponent/formats/xcal/parse.scm b/module/vcomponent/formats/xcal/parse.scm index d0bc7bf2..c696edc1 100644 --- a/module/vcomponent/formats/xcal/parse.scm +++ b/module/vcomponent/formats/xcal/parse.scm @@ -16,6 +16,7 @@ :use-module (srfi srfi-88) :use-module (calp translation) :use-module (hnh util table) + :use-module (hnh util type) :export (sxcal->vcomponent) ) @@ -210,17 +211,17 @@ ;; TODO multi valued data (define raw-value (cdr typetag)) (define vline* - (vline type: tag* - value: (handle-tag - xml-tag - (let ((v (handle-value type parameters raw-value))) - ;; TODO possibly more list fields - ;; (if (eq? tag 'categories) - ;; (string-split v #\,) - ;; v) - - v)) - parameters: parameters)) + (vline key: tag* + vline-value: (handle-tag + xml-tag + (let ((v (handle-value type parameters raw-value))) + ;; TODO possibly more list fields + ;; (if (eq? tag 'categories) + ;; (string-split v #\,) + ;; v) + + v)) + vline-parameters: parameters)) (if (memv tag* '(ATTACH ATTENDEE CATEGORIES COMMENT CONTACT EXDATE REQUEST-STATUS RELATED-TO @@ -255,8 +256,10 @@ ;; would be expanded into ;; KEY;p=1:a ;; KEY;p=1:b + ;; TODO this crashes (fold swap handle-single-property - (vcomponent type: type) (cdr it)) + (vcomponent type: type) + (cdr it)) (vcomponent type: type)))) ;; children |