Actually merge the emails into base.
This commit is contained in:
parent
43aea708f9
commit
0f76514a46
3 changed files with 23 additions and 12 deletions
|
@ -153,7 +153,7 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|||
(newline))
|
||||
|
||||
;; Load the members database (required for everything anyway)
|
||||
(define MB
|
||||
(define MB0
|
||||
(if (-action-)
|
||||
(let ((mb (load-members (*members-directory*) #t)))
|
||||
(if (-needs-bank-)
|
||||
|
@ -161,6 +161,12 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|||
mb))
|
||||
#f))
|
||||
|
||||
;; Load ML(s)
|
||||
(define internal-ml (load-mailman-list "internal"))
|
||||
|
||||
;; Merge
|
||||
(define MB (members-base-merge-mailman MB0 internal-ml))
|
||||
|
||||
;; If a member is specified by either id or nick, get its record
|
||||
(define mr
|
||||
(if (-member-id-)
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
*mailman-bin*
|
||||
list-mailman-lists
|
||||
list-mailman-list-members
|
||||
load-mailman-list
|
||||
load-mailman-lists
|
||||
find-mailman-list
|
||||
mailman-list-name
|
||||
|
@ -78,7 +79,9 @@
|
|||
(define mailman-list-name car)
|
||||
(define mailman-list-members cdr)
|
||||
|
||||
;; Loads a single mailman list as mailman structure
|
||||
;; Loads a single mailman list as mailman structure, if
|
||||
;; unsuccessfull, returns only a list with ML name and no member
|
||||
;; emails.
|
||||
(define (load-mailman-list name)
|
||||
(make-mailman-list name
|
||||
(list-mailman-list-members name)))
|
||||
|
|
|
@ -244,15 +244,17 @@
|
|||
string-ci<?))
|
||||
|
||||
;; Merges given ML members into members base
|
||||
(define (members-base-merge-mailman mb listname emails)
|
||||
(define (members-base-merge-mailman mb ml)
|
||||
(let ((listname (car ml))
|
||||
(emails (cdr ml)))
|
||||
(foldl (lambda (mb email)
|
||||
(members-base-update mb
|
||||
(lambda (mr)
|
||||
(equal? (member-record-info 'mail)
|
||||
email))
|
||||
(lambda (mr)
|
||||
(member-record-add-mailman mr listname))))
|
||||
(member-add-mailman mr listname))))
|
||||
mb
|
||||
emails))
|
||||
emails)))
|
||||
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue