Generic formatting.

This commit is contained in:
Dominik Pantůček 2023-03-19 20:23:23 +01:00
parent f7d062f097
commit 1880239973

View file

@ -244,23 +244,19 @@
(define (list-members-nicks mb)
(map (lambda (mr) (dict-ref (dict-ref mr 'info) 'nick)) mb))
;; To aid in printing lists of records
(define (member-records->nicks-string mrs . sl)
(let ((s (if (null? sl)
", "
(car sl))))
(string-intersperse
(map member-nick mrs) s)))
;; To aid in printing lists of records
(define (member-records->ids+nicks-string mrs . sl)
(let ((s (if (null? sl)
", "
(car sl))))
;; Converts member records to string, optional arguments are format
;; and separator. Format defaults to "~N" and separator to ", ".
(define (member-records->string mrs . args)
(let ((fmt (if (null? args) "~N" (car args)))
(sep (if (or (null? args)
(null? (cdr args)))
", "
(cadr args))))
(string-intersperse
(map (lambda (mr)
(member-format "~N (~I)" mr))
mrs))))
(member-format fmt mr))
mrs)
sep)))
;; Returns dictionary with statistics about the members base.
(define (members-base-info mb-arg)
@ -312,16 +308,16 @@
(destroyed-mrs (dict-ref bi 'destroyed))
(student-mrs (dict-ref bi 'students)))
(print a:success " Active (" (length active-mrs) "): " a:default
(member-records->nicks-string active-mrs))
(member-records->string active-mrs))
(print a:warning " Suspended (" (length suspended-mrs) "): " a:default
(member-records->nicks-string suspended-mrs))
(member-records->string suspended-mrs))
(print a:warning " Destroyed (" (length destroyed-mrs) "): " a:default
(member-records->nicks-string destroyed-mrs))
(member-records->string destroyed-mrs))
(print a:highlight " Students (" (length student-mrs) "): " a:default
(member-records->nicks-string student-mrs))
(member-records->string student-mrs))
(when (not (null? invalid-mrs))
(print a:error " Invalid Id (" (length invalid-mrs) "): "
(member-records->ids+nicks-string invalid-mrs)
(member-records->string invalid-mrs "~N (~I)")
a:default)))))
;; Prints the stats in format used by gnuplot.