From 98ab786dedf881c5dcbafc568ab2fb3c4c0d8609 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Thu, 6 Apr 2023 21:04:27 +0200 Subject: [PATCH] Checking email in listname and adding an email to it. --- src/mailman.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/mailman.scm b/src/mailman.scm index 3803822..67db09e 100644 --- a/src/mailman.scm +++ b/src/mailman.scm @@ -36,6 +36,7 @@ find-mailman-list mailman-list-name mailman-list-members + mailman-sync-members ) (import scheme @@ -43,6 +44,7 @@ (chicken pathname) (chicken string) (chicken sort) + (chicken format) utils progress) @@ -113,8 +115,26 @@ (define (find-mailman-list lsts name) (assoc name lsts)) + ;; Returns #t if the email is in given ml + (define (email-in-mailman-list? ml email) + (if (member email (mailman-list-members ml)) + #t + #f)) + + ;; Adds given email to given listname + (define (add-email-to-mailman-list listname email) + (let ((result + (get-mailman-output-lines + "add_members" "-r" "-" listname + (sprintf "<<<\"~A\"" email)))) + (print result))) + + (define (remove-email-from-mailman-list listname email) + #f) + ;; Ensures given email is in given ML (define (mailman-ensure-member ml email) + #f) ;; Makes sure given member is removed