Finish members base info table.
This commit is contained in:
parent
8f378d57c9
commit
2969a2833c
5 changed files with 90 additions and 5 deletions
|
@ -334,9 +334,48 @@
|
|||
(member-records->string (sort invalid-mrs member<?) "~N (~I)")
|
||||
a:default)))))
|
||||
|
||||
;; Helper function for pretty-formatting the filtered members lists
|
||||
;; in a table.
|
||||
(define (members-table-row a:? label mrs fmt)
|
||||
(list (string-append a:? label)
|
||||
(length mrs)
|
||||
(ansi-paragraph-format
|
||||
(member-records->string
|
||||
(sort mrs member<?)
|
||||
fmt)
|
||||
60)))
|
||||
|
||||
;; Prints nicely aligned members base info
|
||||
(define (print-members-base-table mb)
|
||||
(print "TEST"))
|
||||
(let* ((bi (members-base-info mb))
|
||||
(all-mrs (dict-ref bi 'total))
|
||||
(invalid-mrs (dict-ref bi 'invalid))
|
||||
(active-mrs (dict-ref bi 'active))
|
||||
(suspended-mrs (dict-ref bi 'suspended))
|
||||
(destroyed-mrs (dict-ref bi 'destroyed))
|
||||
(student-mrs (dict-ref bi 'students)))
|
||||
(print "Known members: " (length all-mrs))
|
||||
(print
|
||||
(table->string
|
||||
(filter
|
||||
identity
|
||||
(list (list "Type" "Count" "List")
|
||||
(members-table-row a:success "Active:" active-mrs "~N~E")
|
||||
(members-table-row a:warning "Suspended:" suspended-mrs "~N~E")
|
||||
(members-table-row a:warning "Destroyed:" destroyed-mrs "~N~E")
|
||||
(let ((suspended2 (filter-members-by-predicate
|
||||
suspended-mrs
|
||||
(lambda (mr)
|
||||
(>= (member-suspended-months mr)
|
||||
(*member-suspend-max-months*))))))
|
||||
(if (null? suspended2)
|
||||
#f
|
||||
(members-table-row (ansi #:magenta) "Suspended (long):" suspended2 "~N (~S)")))
|
||||
))
|
||||
#:ansi #t
|
||||
#:row-border #t
|
||||
#:col-border #t
|
||||
))))
|
||||
|
||||
;; Prints the stats in format used by gnuplot.
|
||||
(define (print-members-base-stats ms)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue