From d30cc4bc2d85a606d156bad960f9f6d73c14a335 Mon Sep 17 00:00:00 2001 From: fredrik Date: Sun, 30 Oct 2005 01:54:57 +0000 Subject: [PATCH] Add the 'wait search mode. git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/doldaconnect@425 959494ce-11ee-0310-bf91-de5d638817bd --- lib/guile/autodl | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/guile/autodl b/lib/guile/autodl index 3d2a340..d9e291b 100755 --- a/lib/guile/autodl +++ b/lib/guile/autodl @@ -62,7 +62,9 @@ (define (wanttosearch) (> (- (current-time) lastsearch) - (if (> (length trans) 0) 300 60)) + (if (eq? (cdr (assoc 'search-mode session)) 'wait) + 7200 + (if (> (length trans) 0) 300 60))) ) (define defspeed '()) @@ -379,7 +381,7 @@ (do ((arg (getopt) (getopt))) ((not (and (pair? arg) (char? (car arg)))) (set! args arg)) (cond ((eq? (car arg) #\h) (begin (display "usage: autodl [-s server] -S sessfile\n" (current-error-port)) - (display " autodl [-s server] -e search-expression [-p prio] [-t tag] [-a userarg]\n" (current-error-port)) + (display " autodl [-w] [-s server] -e search-expression [-p prio] [-t tag] [-a userarg]\n" (current-error-port)) (display " autodl [-s server]\n" (current-error-port)) (display " autodl -h\n" (current-error-port)) (exit 0))) @@ -405,6 +407,8 @@ (set! session (cons (cons 'info-file (cdr arg)) session))))) ((eq? (car arg) #\e) (set! session (cons (cons 'sexpr (dc-lexsexpr (cdr arg))) session))) + ((eq? (car arg) #\w) + (set! session (cons '(search-mode . wait) session))) ) ) ) @@ -413,6 +417,8 @@ (set! session (cons '(prio . 10) session))) (if (not (assoc 'maxtrans session)) (set! session (cons '(maxtrans . 1) session))) + (if (not (assoc 'search-mode session)) + (set! session (cons '(search-mode . wait) session))) (if (not (validate-session session)) (begin (display "Invalid session!\n" (current-error-port)) (exit 1))) (if (not dc-server) (set! dc-server (getenv "DCSERVER"))) (if (not dc-server) (set! dc-server "localhost")) @@ -497,13 +503,15 @@ (let ((ires (dc-intresp resp))) (if (and ires (= (car ires) srchid)) (begin (set! info-searcheta (+ (current-time) (cadr ires))) - (logf (string-append "search rescheduled to T+" (number->string (cadr ires)))))))) + (logf (string-append "search rescheduled to T+" (number->string (cadr ires)))) + (write-info-file))))) ((621) ; Search committed (let ((ires (dc-intresp resp))) (if (and ires (= (car ires) srchid)) (begin (logf "search committed") (set! info-searcheta 0) - (set! lastsearch (current-time)))))) + (set! lastsearch (current-time)) + (write-info-file))))) ((622) ; Search result (let ((ires (list->vector (dc-intresp resp)))) (if (and ires (= (vector-ref ires 0) srchid)) (apply handlesr (map (lambda (n) (vector-ref ires n)) '(1 2 3 4 5 7 8)))))) -- 2.11.0