Load bank only if needed.

This commit is contained in:
Dominik Pantůček 2023-04-01 10:30:22 +02:00
parent 6444f53211
commit e127145681

View file

@ -53,6 +53,7 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
;; Command-line options and configurable parameters ;; Command-line options and configurable parameters
(define *members-directory* (make-parameter "members")) (define *members-directory* (make-parameter "members"))
(define *apikeys-file* (make-parameter "apikey.ntlm")) (define *apikeys-file* (make-parameter "apikey.ntlm"))
(define -needs-bank- (make-parameter #f))
(define -member-id- (make-parameter #f)) (define -member-id- (make-parameter #f))
(define -member-nick- (make-parameter #f)) (define -member-nick- (make-parameter #f))
(define -action- (make-parameter #f)) (define -action- (make-parameter #f))
@ -75,7 +76,9 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
(-context (n) "Member-File parser Error Context (lines)" (*member-file-context* (string->number n))) (-context (n) "Member-File parser Error Context (lines)" (*member-file-context* (string->number n)))
(-mi (id) "Specify member by id" (-member-id- (string->number id))) (-mi (id) "Specify member by id" (-member-id- (string->number id)))
(-mn (nick) "Specify member by nick" (-member-nick- nick)) (-mn (nick) "Specify member by nick" (-member-nick- nick))
(-info () "Print information" (-action- 'print-info)) (-info () "Print information"
(-needs-bank- #t)
(-action- 'print-info))
(-stats (file:gnuplot-data) "Get stats for all months" (-stats (file:gnuplot-data) "Get stats for all months"
(-action- 'print-stats) (-action- 'print-stats)
(-fname- file:gnuplot-data)) (-fname- file:gnuplot-data))
@ -92,7 +95,9 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
(-action- 'gencards) (-action- 'gencards)
(-fname- (list file:cards file:desfires))) (-fname- (list file:cards file:desfires)))
(-problems () "Prints all files with problems" (-action- 'problems)) (-problems () "Prints all files with problems" (-action- 'problems))
(-fees () "Prints fees table" (-action- 'fees)) (-fees () "Prints fees table"
(-needs-bank- #t)
(-action- 'fees))
) )
;; Run tests ;; Run tests
@ -113,9 +118,11 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
(newline)) (newline))
;; Load the members database (required for everything anyway) ;; Load the members database (required for everything anyway)
(define MB (members-payments-process (define MB
(load-members (*members-directory*) #t) (let ((mb (load-members (*members-directory*) #t)))
(*apikeys-file*))) (if (-needs-bank-)
(members-payments-process mb (*apikeys-file*))
mb)))
;; If a member is specified by either id or nick, get its record ;; If a member is specified by either id or nick, get its record
(define mr (define mr