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))
(-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.
(define (load-member-file ffn)
(let* ((f (open-input-file ffn))
(ls (read-lines f))
(md (parse-member-lines ls ffn)))
(display ".")
md))
(ls (read-lines f)))
(parse-member-lines ls ffn)))
;; Performs self-tests of the member-file module.
(define (member-file-tests!)

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
;; 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)))))
(dict-map
(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