Load the whole database.

This commit is contained in:
Dominik Pantůček 2023-03-11 18:09:53 +01:00
parent 88768aae8c
commit ff272c3a75

View file

@ -325,14 +325,17 @@
;; parsed month for later processing of student/suspend periods. ;; parsed month for later processing of student/suspend periods.
(define (process-member-line d k v) (define (process-member-line d k v)
(let ((ss (split-start/stop-symbol k))) (let ((ss (split-start/stop-symbol k)))
(cond (ss (if ss
(let ((pk (car ss)) (let ((pk (car ss))
(pd (cadr ss))) (pd (cadr ss))
(vl (string-split v " ")))
(if (null? vl)
(error 'process-member-line "Missing date for start/stop symbol" k)
(let ((ds (car vl)))
(dict-set d pk (dict-set d pk
(cons (cons pd (string->month v)) (cons (cons pd (string->month ds))
(dict-ref d pk '()))))) (dict-ref d pk '()))))))
(else (dict-set d k v))))
(dict-set d k v)))))
;; Converts given key in member info dictionary from period markers ;; Converts given key in member info dictionary from period markers
;; list to periods. ;; list to periods.
@ -410,18 +413,20 @@
(cons 'file dfn)) (cons 'file dfn))
ds)))))) ds))))))
;; Adds the 'info key to all expanded index entries by loading
;; appropriate 'file key file from the members directory.
(define (load-members-from-expanded-index ei) (define (load-members-from-expanded-index ei)
(let loop ((ei ei) (let loop ((ei ei)
(mdb '())) (mdb '()))
(if (null? ei) (if (null? ei)
mdb mdb
(let ((mi (car ei))) (let ((mi (car ei)))
(print mi) (let ((mid (load-member-file (dict-ref mi 'file))))
(loop (cdr ei) (loop (cdr ei)
(cons (dict-set mi (cons (dict-set mi
'info 'info
(load-member-file (dict-ref mi 'file))) mid)
mdb)))))) mdb)))))))
;; Loads all member information from given members database. ;; Loads all member information from given members database.
(define (load-members) (define (load-members)
@ -453,6 +458,8 @@
(newline) (newline)
;; Perform requested action ;; Perform requested action
(load-members-from-expanded-index (expand-members-raw-index (load-members-raw-index))) (define mdb (load-members-from-expanded-index (expand-members-raw-index (load-members-raw-index))))
(print mdb)
(print (load-member-file "trimen")) (print (load-member-file "trimen"))