Show missing keys.
This commit is contained in:
parent
babe6ffce4
commit
f06949b545
2 changed files with 16 additions and 1 deletions
|
@ -116,7 +116,14 @@
|
|||
(else
|
||||
(list k v)))))
|
||||
sikeys))
|
||||
(result (filter identity (append head body))))
|
||||
(misskeys (member-missing-keys mr))
|
||||
(miss (if (null? misskeys)
|
||||
'()
|
||||
(list (list "Missing keys:"
|
||||
(string-intersperse
|
||||
(map symbol->string misskeys)
|
||||
", ")))))
|
||||
(result (filter identity (append head body miss))))
|
||||
(print (table->string result #:table-border #t #:row-border #t #:col-border #t))))
|
||||
|
||||
;; Nicely prints the member source with any errors recorded.
|
||||
|
|
|
@ -42,6 +42,7 @@
|
|||
member-record-sub-ensure
|
||||
|
||||
member-record-info
|
||||
member-missing-keys
|
||||
|
||||
member-destroyed?
|
||||
member-suspended?
|
||||
|
@ -186,6 +187,13 @@
|
|||
(dict-ref info key)
|
||||
(dict-ref info key (car defaults)))))
|
||||
|
||||
;; Return mandatory keys with #f as value
|
||||
(define (member-missing-keys mr)
|
||||
(dict-reduce '()
|
||||
(lambda (acc k v)
|
||||
(if v acc (cons k acc)))
|
||||
(dict-ref mr 'info)))
|
||||
|
||||
;; Returns true if the member record represents destroyed member. The
|
||||
;; *current-month* is a global parameter from period module.
|
||||
(define (member-destroyed? mr)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue