aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent/xcal/types.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2021-12-21 16:17:28 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2021-12-22 22:58:30 +0100
commitd00fea566004e67161ee45246b239fff5d416b0e (patch)
tree5641c0c0d0e78b046b6045ed2440512f12259560 /module/vcomponent/xcal/types.scm
parentComplete rewrite of use2dot (diff)
downloadcalp-d00fea566004e67161ee45246b239fff5d416b0e.tar.gz
calp-d00fea566004e67161ee45246b239fff5d416b0e.tar.xz
Cleanup modules.
Primarly this moves all vcompenent input and output code to clearly labeled modules, instead of being spread out. At the same time it also removes a handfull of unused procedures.
Diffstat (limited to 'module/vcomponent/xcal/types.scm')
-rw-r--r--module/vcomponent/xcal/types.scm54
1 files changed, 0 insertions, 54 deletions
diff --git a/module/vcomponent/xcal/types.scm b/module/vcomponent/xcal/types.scm
deleted file mode 100644
index 468400f4..00000000
--- a/module/vcomponent/xcal/types.scm
+++ /dev/null
@@ -1,54 +0,0 @@
-(define-module (vcomponent xcal types)
- :use-module (calp util)
- :use-module (vcomponent ical types)
- :use-module (datetime)
- )
-
-(define (write-boolean _ v)
- `(boolean ,(if v "true" "false")))
-
-(define (write-date _ v)
- `(date ,(date->string v "~Y-~m-~d")))
-
-(define (write-datetime p v)
- `(date-time
- ,(datetime->string
- (hashq-ref p '-X-HNH-ORIGINAL v)
- ;; 'Z' should be included for UTC,
- ;; other timezones MUST be specified
- ;; in the TZID parameter.
- "~Y-~m-~dT~H:~M:~S~Z")))
-
-(define (write-time _ v)
- `(time ,(time->string v "~H:~M:S")))
-
-(define (write-recur _ v)
- `(recur ,@((@@ (vcomponent recurrence internal) recur-rule->rrule-sxml) v)))
-
-;; sepparate since this text shouldn't be escaped
-(define (write-text _ v)
- ;; TODO out type should be xsd:string.
- ;; Look into what that means, and escape
- ;; from there
- `(text ,v))
-
-
-
-(define sxml-writers (make-hash-table))
-(for simple-type in '(BINARY DURATION CAL-ADDRESS DURATION FLOAT INTEGER
- #| TODO PERIOD |# URI UTC-OFFSET)
- (hashq-set! sxml-writers simple-type
- (lambda (p v)
- `(,(downcase-symbol simple-type)
- ,(((@ (vcomponent ical types) get-writer) simple-type) p v)))))
-
-(hashq-set! sxml-writers 'BOOLEAN write-boolean)
-(hashq-set! sxml-writers 'DATE write-date)
-(hashq-set! sxml-writers 'DATE-TIME write-datetime)
-(hashq-set! sxml-writers 'TIME write-time)
-(hashq-set! sxml-writers 'RECUR write-recur)
-(hashq-set! sxml-writers 'TEXT write-text)
-
-(define-public (get-writer type)
- (or (hashq-ref sxml-writers type #f)
- (error "No writer for type" type)))