Destroyed, students, suspended predicates and base info.
This commit is contained in:
parent
4b453162cf
commit
faf18b928e
3 changed files with 20 additions and 15 deletions
2
ansi.scm
2
ansi.scm
|
@ -35,6 +35,7 @@
|
||||||
a:neutral
|
a:neutral
|
||||||
a:default
|
a:default
|
||||||
a:muted
|
a:muted
|
||||||
|
a:highlight
|
||||||
ansi-tests!
|
ansi-tests!
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -79,6 +80,7 @@
|
||||||
(define a:neutral (ansi #:default #:white))
|
(define a:neutral (ansi #:default #:white))
|
||||||
(define a:default (ansi #:default))
|
(define a:default (ansi #:default))
|
||||||
(define a:muted (ansi #:black #:bold))
|
(define a:muted (ansi #:black #:bold))
|
||||||
|
(define a:highlight (ansi #:blue #:bold))
|
||||||
|
|
||||||
;; Performs ANSI module self-tests.
|
;; Performs ANSI module self-tests.
|
||||||
(define (ansi-tests!)
|
(define (ansi-tests!)
|
||||||
|
|
|
@ -98,9 +98,14 @@
|
||||||
(month-in-periods? periods))))
|
(month-in-periods? periods))))
|
||||||
|
|
||||||
;; Returns true if the member is now suspended
|
;; Returns true if the member is now suspended
|
||||||
(define member-suspended?
|
(define member-is-suspended?
|
||||||
(member-period-predicate? 'suspend))
|
(member-period-predicate? 'suspend))
|
||||||
|
|
||||||
|
;; Suspended must not be destroyed
|
||||||
|
(define (member-suspended? mr)
|
||||||
|
(and (member-is-suspended? mr)
|
||||||
|
(not (member-destroyed? mr))))
|
||||||
|
|
||||||
;; True if the member is student
|
;; True if the member is student
|
||||||
(define member-is-student?
|
(define member-is-student?
|
||||||
(member-period-predicate? 'student))
|
(member-period-predicate? 'student))
|
||||||
|
|
|
@ -51,7 +51,8 @@
|
||||||
dictionary
|
dictionary
|
||||||
member-file
|
member-file
|
||||||
primes
|
primes
|
||||||
member-record)
|
member-record
|
||||||
|
ansi)
|
||||||
|
|
||||||
;; Gets all files and symbolic links from given directory. The
|
;; Gets all files and symbolic links from given directory. The
|
||||||
;; symbolic links are represented by cons cells with car being the
|
;; symbolic links are represented by cons cells with car being the
|
||||||
|
@ -250,14 +251,8 @@
|
||||||
(define (print-members-base-info mb)
|
(define (print-members-base-info mb)
|
||||||
(let ((nicks (list-members-nicks mb))
|
(let ((nicks (list-members-nicks mb))
|
||||||
(ids (list-members-ids mb)))
|
(ids (list-members-ids mb)))
|
||||||
(print "Members ("
|
(print "Known members: "
|
||||||
(length nicks)
|
(length nicks))
|
||||||
"): "
|
|
||||||
(string-intersperse
|
|
||||||
(sort
|
|
||||||
nicks
|
|
||||||
string<?)
|
|
||||||
", "))
|
|
||||||
(print "Total IDs: "
|
(print "Total IDs: "
|
||||||
(length ids)
|
(length ids)
|
||||||
" (" (length (filter is-4digit-prime? ids)) " valid)")
|
" (" (length (filter is-4digit-prime? ids)) " valid)")
|
||||||
|
@ -266,17 +261,20 @@
|
||||||
(suspended-mrs (filter-members-by-predicate mb member-suspended?))
|
(suspended-mrs (filter-members-by-predicate mb member-suspended?))
|
||||||
(destroyed-mrs (filter-members-by-predicate mb member-destroyed?))
|
(destroyed-mrs (filter-members-by-predicate mb member-destroyed?))
|
||||||
(student-mrs (filter-members-by-predicate mb member-student?)))
|
(student-mrs (filter-members-by-predicate mb member-student?)))
|
||||||
(print " Active (" (length active-mrs) "): "
|
(print a:success " Active (" (length active-mrs) "): " a:default
|
||||||
(member-records->nicks-string active-mrs))
|
(member-records->nicks-string active-mrs))
|
||||||
(print " Suspended (" (length suspended-mrs) "): "
|
(print a:warning " Suspended (" (length suspended-mrs) "): " a:default
|
||||||
(member-records->nicks-string suspended-mrs))
|
(member-records->nicks-string suspended-mrs))
|
||||||
(print " Students (" (length student-mrs) "): "
|
(print a:warning " Destroyed (" (length destroyed-mrs) "): " a:default
|
||||||
|
(member-records->nicks-string destroyed-mrs))
|
||||||
|
(print a:highlight " Students (" (length student-mrs) "): " a:default
|
||||||
(member-records->nicks-string student-mrs))
|
(member-records->nicks-string student-mrs))
|
||||||
(when (not (null? invalid-ids))
|
(when (not (null? invalid-ids))
|
||||||
(print " Invalid (" (length invalid-ids) "): "
|
(print a:error " Invalid (" (length invalid-ids) "): "
|
||||||
(string-intersperse
|
(string-intersperse
|
||||||
(map number->string invalid-ids)
|
(map number->string invalid-ids)
|
||||||
", "))))))
|
", ")
|
||||||
|
a:default)))))
|
||||||
|
|
||||||
;; Performs self-tests of this module.
|
;; Performs self-tests of this module.
|
||||||
(define (members-base-tests!)
|
(define (members-base-tests!)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue