aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-08-17 18:25:54 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-08-17 18:25:54 +0200
commit08d4886a82ccc371dac91ec1906fb99dcc1a828f (patch)
treef0f49abdbe8145d58de9cb57fc7761dce257c57f
parentMOORE (diff)
downloadcalp-08d4886a82ccc371dac91ec1906fb99dcc1a828f.tar.gz
calp-08d4886a82ccc371dac91ec1906fb99dcc1a828f.tar.xz
Errors not correct in this context.
-rw-r--r--module/vcomponent/vdir/save-delete.scm44
1 files changed, 14 insertions, 30 deletions
diff --git a/module/vcomponent/vdir/save-delete.scm b/module/vcomponent/vdir/save-delete.scm
index 02db9d7a..0bc9cb4a 100644
--- a/module/vcomponent/vdir/save-delete.scm
+++ b/module/vcomponent/vdir/save-delete.scm
@@ -17,39 +17,23 @@
)
-(define / file-name-separator-string)
-
(define-public (save-event event)
(define calendar (parent event))
- (case (prop calendar '-X-HNH-SOURCETYPE)
- [(file)
- (error "Importing into direct calendar files not supported")]
-
- [(vdir)
- (let* ((uid (or (prop event 'UID) (uuidgen))))
- (set! (prop event 'UID) uid
- ;; TODO use existing filename if present?
- (prop event '-X-HNH-FILENAME) (string-append
- (prop calendar '-X-HNH-DIRECTORY)
- / uid ".ics"))
- (with-atomic-output-to-file (prop event '-X-HNH-FILENAME)
- (lambda () (print-components-with-fake-parent (list event))))
- uid)]
-
- [else
- (error "Source of calendar unknown, aborting.")
- ]))
+ (assert 'vdir (prop calendar '-X-HNH-SOURCETYPE))
-(define-public (remove-event event)
- (define calendar (parent event))
- (case (prop calendar '-X-HNH-SOURCETYPE)
- [(file)
- (error "Removing events from large files unsupported")]
+ (let* ((uid (or (prop event 'UID) (uuidgen))))
+ (set! (prop event 'UID) uid
+ ;; TODO use existing filename if present?
+ (prop event '-X-HNH-FILENAME) (path-append
+ (prop calendar '-X-HNH-DIRECTORY)
+ (string-append uid ".ics")))
+ (with-atomic-output-to-file (prop event '-X-HNH-FILENAME)
+ (lambda () (print-components-with-fake-parent (list event))))
+ uid))
- [(vdir)
- (delete-file (prop event '-X-HNH-FILENAME))]
- [else
- (error "Source of calendar unknown, aborting.")
- ]))
+(define-public (remove-event event)
+ (define calendar (parent event))
+ (assert 'vdir (prop calendar '-X-HNH-SOURCETYPE))
+ (delete-file (prop event '-X-HNH-FILENAME)))