Member record finalization.
This commit is contained in:
parent
4d43ce29d8
commit
389fd3dc1c
3 changed files with 17 additions and 4 deletions
|
@ -41,7 +41,8 @@
|
|||
dictionary
|
||||
month
|
||||
period
|
||||
utils)
|
||||
utils
|
||||
configuration)
|
||||
|
||||
;; Pass 2: known keys and multikeys
|
||||
(define member-schema-known-keys '(nick mail phone name born joined destroyed))
|
||||
|
@ -101,6 +102,12 @@
|
|||
(else
|
||||
(member-record-sub-set mr output key (car value))))))))
|
||||
|
||||
;; Final checks - add defaults
|
||||
(define (member-schema-finalize mr)
|
||||
(if (member-record-sub-has-key? mr 'info 'joined)
|
||||
mr
|
||||
(member-record-sub-set mr 'info 'joined (*member-default-joined*))))
|
||||
|
||||
;; Pass 0: Removes any comments and removes any leading and trailing
|
||||
;; whitespace.
|
||||
(define (preprocess-member-line line)
|
||||
|
@ -215,8 +222,9 @@
|
|||
(let* ((mrif (member-record-input-file mr))
|
||||
(source (read-lines mrif))
|
||||
(mrp (parse-member-lines mr source)))
|
||||
(interpret-member-file
|
||||
(process-member-file mrp))))
|
||||
(member-schema-finalize
|
||||
(interpret-member-file
|
||||
(process-member-file mrp)))))
|
||||
|
||||
;; Performs self-tests of the member-parser module.
|
||||
(define (member-parser-tests!)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue