@@ -21,12 +21,12 @@
(use scsh-process)
(use srfi-18)
(use srfi-19)
(use refdb)
(use sql-de-lite srfi-1 posix regex regex-case srfi-69)
-(declare (uses common))
-(declare (uses configf))
+;(declare (uses common))
+;(declare (uses configf))
(declare (uses margs))
(declare (uses megatest-version))
(include "megatest-fossil-hash.scm")
@@ -34,10 +34,12 @@
(include "sauth-paths.scm")
(include "sauth-common.scm")
(define (toplevel-command . args) #f)
(use readline)
+
+
;;
;; GLOBALS
;;
@@ -983,10 +985,44 @@
(begin
(sauthorize:do-as-calling-user
(lambda ()
(run-cmd (conc *sauth-path* "/sauthorize") (list "register-log" (conc "get " area " " sub-path) (number->string (car user-obj)) (number->string (caddr area-obj)) "get"))))
(sretrieve:get-shell-cmd-line target-path base-path restrictions iport))))))
+ ((cat)
+ (if (< (length args) 2)
+ (begin
+ (sauth:print-error "Missing arguments; " )
+ (exit 1)))
+ (let* ((remargs (args:get-args args '("-m" ) '() args:arg-hash 0))
+ (area (car args))
+ (usr (current-user-name))
+ (area-obj (get-obj-by-code area))
+ (user-obj (get-user usr))
+ (top-areas (sretrieve:get-accessable-projects area))
+ (base-path (if (null? area-obj)
+ ""
+ (caddr (cdr area-obj))))
+ (sub-path (if (null? remargs)
+ ""
+ (car remargs))))
+
+ (if (null? area-obj)
+ (begin
+ (sauth:print-error (conc "Area " area " does not exist"))
+ (exit 1)))
+ (let* ((target-path (sauth-common:get-target-path '() (conc area "/" sub-path) top-areas base-path))
+ (restrictions (if (equal? target-path #f)
+ ""
+ (sretrieve:shell-lookup base-path))))
+;(sauth-common:shell-ls-cmd base-path-list ext-path top-areas base-path tail-cmd-list)
+
+ (if (not (equal? target-path #f))
+ (begin
+ (sauthorize:do-as-calling-user
+ (lambda ()
+ (run-cmd (conc *sauth-path* "/sauthorize") (list "register-log" (conc "get " area " " sub-path) (number->string (car user-obj)) (number->string (caddr area-obj)) "get"))))
+ (sretrieve:shell-cat-cmd (list area) sub-path top-areas base-path '()))))))
((ls)
(cond
((< (length args) 1)
(begin
(print "ERROR: Missing arguments; ")
@@ -1002,10 +1038,13 @@
(caddr (cdr area-obj)))))
(if (null? area-obj)
(begin
(print "Area " area " does not exist")
(exit 1)))
+
+ ; (sretrieve:shell-cat-cmd base-pathlist ext-path top-areas base-path tail-cmd-list)
+
(sauth-common:shell-ls-cmd '() area top-areas base-path '())
(sauthorize:do-as-calling-user
(lambda ()
(run-cmd (conc *sauth-path* "/sauthorize") (list "register-log" "ls" (number->string (car user-obj)) (number->string (caddr area-obj)) "ls"))))))
((> (length args) 1)