Optional progress in loading the members-base.

This commit is contained in:
Dominik Pantůček 2023-03-16 10:50:29 +01:00
parent 62882aab27
commit e26b78b254
3 changed files with 25 additions and 16 deletions

View file

@ -137,18 +137,29 @@
(load-member-file
(make-pathname mdir fname)))))
;; Loads members database
(define (load-members dn)
(let ((fss (files-dictionary-filter-4digit-symbols
(files+symlinks->files-dictionary
(get-files+symlinks dn)))))
(dict-map
(lambda (symfn symlinks)
(members-base-load-member dn
(symbol->string symfn)
symlinks))
fss)))
;; Loads members database, if the second argument is true, shows
;; progress.
(define (load-members dn . opts)
(let ((progress? (and (not (null? opts))
(car opts))))
(when progress?
(display "Loading members "))
(let* ((fss (files-dictionary-filter-4digit-symbols
(files+symlinks->files-dictionary
(get-files+symlinks dn))))
(mb (dict-map
(lambda (symfn symlinks)
(when progress?
(display "."))
(members-base-load-member dn
(symbol->string symfn)
symlinks))
fss)))
(when progress?
(print " ok."))
mb)))
;; Performs self-tests of this module.
(define (members-base-tests!)
(run-tests
members-base