aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent/ical
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/ical
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 '')
-rw-r--r--module/vcomponent/formats/ical/output.scm (renamed from module/vcomponent/ical/output.scm)50
-rw-r--r--module/vcomponent/formats/ical/parse.scm (renamed from module/vcomponent/ical/parse.scm)12
-rw-r--r--module/vcomponent/formats/ical/types.scm (renamed from module/vcomponent/ical/types.scm)8
3 files changed, 22 insertions, 48 deletions
diff --git a/module/vcomponent/ical/output.scm b/module/vcomponent/formats/ical/output.scm
index bcc6bb1d..9efac3c4 100644
--- a/module/vcomponent/ical/output.scm
+++ b/module/vcomponent/formats/ical/output.scm
@@ -1,21 +1,21 @@
-(define-module (vcomponent ical output)
+(define-module (vcomponent formats ical output)
+ :use-module (calp util exceptions)
+ :use-module (calp util)
+ :use-module (datetime)
+ :use-module (datetime zic)
+ :use-module ((datetime instance) :select (zoneinfo))
+ :use-module (glob)
:use-module (ice-9 format)
:use-module (ice-9 match)
- :use-module (calp util)
- :use-module (calp util exceptions)
- :use-module (vcomponent)
- :use-module (vcomponent datetime)
:use-module (srfi srfi-1)
- :use-module (datetime)
:use-module (srfi srfi-41)
:use-module (srfi srfi-41 util)
- :use-module (datetime zic)
- :use-module (glob)
- :use-module (vcomponent recurrence)
+ :use-module (vcomponent)
+ :use-module (vcomponent datetime)
:use-module (vcomponent geo)
- :use-module (vcomponent ical types)
- :autoload (vcomponent instance) (global-event-object)
- :use-module ((datetime instance) :select (zoneinfo))
+ :use-module (vcomponent formats ical types)
+ :use-module (vcomponent recurrence)
+ :autoload (vcomponent util instance) (global-event-object)
)
(define (prodid)
@@ -165,32 +165,6 @@
=> (lambda (alts) (hash-map->list (lambda (_ comp) (component->ical-string comp))
alts))]))
-;; TODO tzid param on dtstart vs tz field in datetime object
-;; TODO remove this, replace with methods from (output vdir)
-;; how do we keep these two in sync?
-(define (write-event-to-file event calendar-path)
- (define cal (make-vcomponent 'VCALENDAR))
-
- (set! (prop cal 'PRODID) (prodid)
- (prop cal 'VERSION) "2.0"
- (prop cal 'CALSCALE) "GREGORIAN")
-
- (add-child! cal event)
-
- (awhen (and (provided? 'zoneinfo)
- (param (prop* event 'DTSTART) 'TZID))
- ;; TODO this is broken
- (add-child! cal (zoneinfo->vtimezone (zoneinfo) it)))
-
- (unless (prop event 'UID)
- (set! (prop event 'UID)
- (uuidgen)))
-
- (with-output-to-file (glob (format #f "~a/~a.ics"
- calendar-path
- (prop event 'UID)))
- (lambda () (component->ical-string cal))))
-
(define (print-header)
diff --git a/module/vcomponent/ical/parse.scm b/module/vcomponent/formats/ical/parse.scm
index b67ae593..d76044a3 100644
--- a/module/vcomponent/ical/parse.scm
+++ b/module/vcomponent/formats/ical/parse.scm
@@ -1,14 +1,14 @@
-(define-module (vcomponent ical parse)
- :use-module (calp util)
- :use-module (calp util exceptions)
+(define-module (vcomponent formats ical parse)
:use-module ((ice-9 rdelim) :select (read-line))
- :use-module (vcomponent base)
+ :use-module (calp util exceptions)
+ :use-module (calp util)
:use-module (datetime)
:use-module (srfi srfi-1)
- :use-module (srfi srfi-9 gnu)
:use-module (srfi srfi-26)
- :use-module (vcomponent parse types)
+ :use-module (srfi srfi-9 gnu)
+ :use-module (vcomponent base)
:use-module (vcomponent geo)
+ :use-module (vcomponent formats common types)
)
(define string->symbol
diff --git a/module/vcomponent/ical/types.scm b/module/vcomponent/formats/ical/types.scm
index 1ec9d0bd..d063ca8f 100644
--- a/module/vcomponent/ical/types.scm
+++ b/module/vcomponent/formats/ical/types.scm
@@ -1,10 +1,12 @@
;; see (vcomponent parse types)
-(define-module (vcomponent ical types)
+(define-module (vcomponent formats ical types)
:use-module (calp util)
:use-module (calp util exceptions)
:use-module (base64)
- :use-module (datetime))
+ :use-module (datetime)
+ :use-module (datetime timespec))
+;; TODO shouldn't these really take vline:s?
(define (write-binary _ value)
(bytevector->base64-string value))
@@ -62,8 +64,6 @@
value)
-(use-modules (datetime timespec))
-
(define (write-utc-offset _ value)
(with-output-to-string
(lambda ()