Load all lists.

This commit is contained in:
Dominik Pantůček 2023-04-06 16:01:36 +02:00
parent 37775c99c7
commit 18dd1ff7ca

View file

@ -29,8 +29,10 @@
mailman mailman
( (
*mailman-bin* *mailman-bin*
list-mailman-lists load-mailman-lists
list-mailman-list-members find-mailman-list
mailman-list-name
mailman-list-members
) )
(import scheme (import scheme
@ -62,4 +64,25 @@
(define (list-mailman-list-members lst) (define (list-mailman-list-members lst)
(get-mailman-output-lines "list_members" lst)) (get-mailman-output-lines "list_members" lst))
;; Creates a representation of basic mailman list information
(define (make-mailman-list name members)
(cons name
members))
;; Simple accessors
(define mailman-list-name car)
(define mailman-list-members cdr)
;; Loads all lists and members
(define (load-mailman-lists)
(map
(lambda (name)
(make-mailman-list name
(list-mailman-list-members name)))
(list-mailman-lists)))
;; List of lists, returns the whole list record (including name)
(define (find-mailman-list lsts name)
(assoc name lsts))
) )