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

@ -62,5 +62,5 @@
(-mfkq () "Member-File invalid Key Quiet" (*member-file-check-syntax* 'quiet)) (-mfkq () "Member-File invalid Key Quiet" (*member-file-check-syntax* 'quiet))
(-mfec (n) "Member-File parser Error Context (lines)" (*member-file-context* (string->number n)))) (-mfec (n) "Member-File parser Error Context (lines)" (*member-file-context* (string->number n))))
(load-members "members") (load-members "members" #t)

View file

@ -215,10 +215,8 @@
;; Loads lines from given file and parses them. ;; Loads lines from given file and parses them.
(define (load-member-file ffn) (define (load-member-file ffn)
(let* ((f (open-input-file ffn)) (let* ((f (open-input-file ffn))
(ls (read-lines f)) (ls (read-lines f)))
(md (parse-member-lines ls ffn))) (parse-member-lines ls ffn)))
(display ".")
md))
;; Performs self-tests of the member-file module. ;; Performs self-tests of the member-file module.
(define (member-file-tests!) (define (member-file-tests!)

View file

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