aboutsummaryrefslogtreecommitdiff
path: root/module/calp/webdav/resource/file.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/calp/webdav/resource/file.scm')
-rw-r--r--module/calp/webdav/resource/file.scm22
1 files changed, 13 insertions, 9 deletions
diff --git a/module/calp/webdav/resource/file.scm b/module/calp/webdav/resource/file.scm
index 58e71e2c..e2fec9a5 100644
--- a/module/calp/webdav/resource/file.scm
+++ b/module/calp/webdav/resource/file.scm
@@ -27,6 +27,14 @@
(root getter: root setter: set-root! init-value: "/" init-keyword: root:)
(path getter: path setter: set-path! init-value: "/" init-keyword: path:))
+(define-method (write (self <file-resource>) port)
+ (display
+ (format #f "#<<file-resource> name=~s, root=~s, path=~s>"
+ (name self)
+ (root self)
+ (path self))
+ port))
+
(define (file-resource? x)
(is-a? x <file-resource>))
@@ -102,20 +110,16 @@
(list data) #f))))
-;; This is currently ONLY called from add-resource! which creates a
-;; child from the type of the parent.
(define-method (setup-new-resource! (self <file-resource>)
(parent <file-resource>))
+ (next-method)
(set-root! self (root parent))
(set-path! self (path-append (path parent) (name self))))
-
-(define-method (add-collection! (self <file-resource>) new-name)
- (let ((resource (next-method)))
- (set-root! resource (root self))
- (set-path! resource (path-append (path self) new-name))
- (mkdir (path-append (root resource) (path resource)))
- resource))
+(define-method (setup-new-collection! (self <file-resource>)
+ (parent <file-resource>))
+ (next-method)
+ (mkdir (filepath self)))
(define-method (cleanup-resource (self <file-resource>))
((if (is-collection? self)