Member sorting.
This commit is contained in:
parent
59a52fb0d9
commit
8564056320
2 changed files with 12 additions and 6 deletions
|
@ -41,6 +41,7 @@
|
||||||
member-suspended-months
|
member-suspended-months
|
||||||
member-source
|
member-source
|
||||||
print-member-source
|
print-member-source
|
||||||
|
member<?
|
||||||
member-record-tests!
|
member-record-tests!
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -194,6 +195,11 @@
|
||||||
"..." ; Not used
|
"..." ; Not used
|
||||||
)))
|
)))
|
||||||
|
|
||||||
|
;; Comparator of member records based on nickname.
|
||||||
|
(define (member<? a b)
|
||||||
|
(string-ci<? (member-nick a)
|
||||||
|
(member-nick b)))
|
||||||
|
|
||||||
;; Performs module self-tests.
|
;; Performs module self-tests.
|
||||||
(define (member-record-tests!)
|
(define (member-record-tests!)
|
||||||
(run-tests
|
(run-tests
|
||||||
|
|
|
@ -308,23 +308,23 @@
|
||||||
(destroyed-mrs (dict-ref bi 'destroyed))
|
(destroyed-mrs (dict-ref bi 'destroyed))
|
||||||
(student-mrs (dict-ref bi 'students)))
|
(student-mrs (dict-ref bi 'students)))
|
||||||
(print a:success " Active (" (length active-mrs) "): " a:default
|
(print a:success " Active (" (length active-mrs) "): " a:default
|
||||||
(member-records->string active-mrs))
|
(member-records->string (sort active-mrs member<?)))
|
||||||
(print a:warning " Suspended (" (length suspended-mrs) "): " a:default
|
(print a:warning " Suspended (" (length suspended-mrs) "): " a:default
|
||||||
(member-records->string suspended-mrs))
|
(member-records->string (sort suspended-mrs member<?)))
|
||||||
(print a:warning " Destroyed (" (length destroyed-mrs) "): " a:default
|
(print a:warning " Destroyed (" (length destroyed-mrs) "): " a:default
|
||||||
(member-records->string destroyed-mrs))
|
(member-records->string (sort destroyed-mrs member<?)))
|
||||||
(print a:highlight " Students (" (length student-mrs) "): " a:default
|
(print a:highlight " Students (" (length student-mrs) "): " a:default
|
||||||
(member-records->string student-mrs))
|
(member-records->string (sort student-mrs member<?)))
|
||||||
(let ((suspended2 (filter-members-by-predicate
|
(let ((suspended2 (filter-members-by-predicate
|
||||||
suspended-mrs
|
suspended-mrs
|
||||||
(lambda (mr)
|
(lambda (mr)
|
||||||
(>= (member-suspended-months mr) 24)))))
|
(>= (member-suspended-months mr) 24)))))
|
||||||
(when (not (null? suspended2))
|
(when (not (null? suspended2))
|
||||||
(print " Suspended for at least 24 months: "
|
(print " Suspended for at least 24 months: "
|
||||||
(member-records->string suspended2 "~N (~S)"))))
|
(member-records->string (sort suspended2 member<?) "~N (~S)"))))
|
||||||
(when (not (null? invalid-mrs))
|
(when (not (null? invalid-mrs))
|
||||||
(print a:error " Invalid Id (" (length invalid-mrs) "): "
|
(print a:error " Invalid Id (" (length invalid-mrs) "): "
|
||||||
(member-records->string invalid-mrs "~N (~I)")
|
(member-records->string (sort invalid-mrs member<?) "~N (~I)")
|
||||||
a:default)))))
|
a:default)))))
|
||||||
|
|
||||||
;; Prints the stats in format used by gnuplot.
|
;; Prints the stats in format used by gnuplot.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue