Work on making the lists more 2.xx-like.

This commit is contained in:
Dominik Pantůček 2023-09-15 17:50:00 +02:00
parent d802cf13c8
commit aaa6e582a4
4 changed files with 44 additions and 42 deletions

View file

@ -30,8 +30,6 @@
(
list-mailman2-lists
list-mailman2-list-members
load-mailman2-list
load-mailman2-lists
add-email-to-mailman2-list
remove-email-from-mailman2-list
@ -44,7 +42,6 @@
(chicken sort)
(chicken format)
util-list
progress
util-bst-lset
util-io
mailman-common
@ -79,35 +76,6 @@
(get-mailman-output-lines "list_members" lst)
string-ci<?))
;; Loads a single mailman list as mailman structure, if
;; unsuccessfull, returns only a list with ML name and no member
;; emails.
(define (load-mailman2-list name)
(make-mailman-list name
(list-mailman2-list-members name)))
;; Loads all lists and members
(define (load-mailman2-lists)
(with-progress%
#t "Mailman"
(progress%-advance 0)
(let* ((lists (list-mailman2-lists))
(total (length lists)))
(let loop ((lsts lists)
(res '())
(idx 0))
(if (null? lsts)
(let ()
(progress%-advance 1)
;; Will be prepended, therefore reversing result is a
;; bad idea!
res)
(let ((mln (car lsts)))
(progress%-advance (/ idx total))
(loop (cdr lsts)
(cons (load-mailman2-list mln) res)
(add1 idx))))))))
;; Adds given email to given listname
(define (add-email-to-mailman2-list listname email)
(print "Add " email " to " listname ".")