Split out mailinglist check base.

This commit is contained in:
Dominik Pantůček 2024-02-09 15:01:21 +01:00
parent 708268d91d
commit fabb387ba1
3 changed files with 77 additions and 27 deletions

View file

@ -50,7 +50,8 @@
export-web-static
dokuwiki
racket-kwargs
util-string)
util-string
mailinglist)
;; Command-line options and configurable parameters
(define -needs-bank- (make-parameter #f))
@ -286,27 +287,6 @@
(print " " (car keys) ": " (length (ldict-ref status (car keys)))))
(loop (cdr keys)))))))
(define* (check-mailing-list mls name #:pred? (pred? #f) #:suspended (suspended #f))
(define ml (find-mailman-list mls name))
(when ml
(let-values (((missing surplus)
(mailman-compare-members ml
(mbase-active-emails MB
#:suspended suspended
#:pred? pred?
))))
(if (null? (cdr ml))
(print "Skipping ML check - not loaded")
(if (and (null? missing)
(null? surplus))
(print (format "~a mailing list membership in sync." (string-capitalize name)))
(let ()
(print (format "~a mailing list:" (string-capitalize name)))
(when (not (null? missing))
(print " Missing: " missing))
(when (not (null? surplus))
(print " Outsiders: " surplus))))))))
(define (rada-ml-pred? mr)
(or (brmember-council? mr)
(brmember-chair? mr)
@ -323,10 +303,10 @@
(let ()
(print-members-base-table MB)
(newline)
(check-mailing-list MLS "internal" #:suspended #t)
(check-mailing-list MLS "rada"
(check-mailing-list MB MLS "internal" #:suspended #t)
(check-mailing-list MB MLS "rada"
#:pred? rada-ml-pred?)
(check-mailing-list MLS "rk" #:pred? brmember-revision?)
(check-mailing-list MB MLS "rk" #:pred? brmember-revision?)
(print-git-status)))
(newline))
((print-stats)