From b1e0c04a8ab02f9a2686d05dccba853c83cc3b5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Sat, 13 May 2023 10:36:46 +0200 Subject: [PATCH] Implement kwarg active emails query. --- src/Makefile | 4 ++-- src/mbase.scm | 13 ++++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/Makefile b/src/Makefile index 73fb234..fd8e21d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -121,10 +121,10 @@ command-line.import.scm: $(COMMAND-LINE-SOURCES) MBASE-SOURCES=mbase.scm testing.import.scm util-dict-list.import.scm \ primes.import.scm brmember.import.scm ansi.import.scm \ - cal-period.import.scm cal-month.import.scm \ + cal-period.import.scm cal-month.import.scm \ configuration.import.scm progress.import.scm \ table.import.scm mbase-dir.import.scm util-list.import.scm \ - util-tag.import.scm + util-tag.import.scm util-kwargs.import.scm mbase.o: mbase.import.scm mbase.import.scm: $(MBASE-SOURCES) diff --git a/src/mbase.scm b/src/mbase.scm index 160649a..8f92163 100644 --- a/src/mbase.scm +++ b/src/mbase.scm @@ -78,7 +78,8 @@ configuration progress mbase-dir - util-tag) + util-tag + util-kwargs) ;; Constant unique tag (define TAG-MBASE (make-tag mbase)) @@ -258,14 +259,20 @@ ;; Returns the list of emails of all active members sorted ;; alphabetically - (define (mbase-active-emails mb) + (define-kwproc (mbase-active-emails mb + (#:active active #t) + (#:suspended suspended #f)) (sort (filter string? (map (lambda (mr) (brmember-info mr 'mail)) - (filter brmember-active? + (filter (lambda (mr) + (or (and active + (brmember-active? mr)) + (and suspended + (brmember-suspended? mr)))) (mbase-members mb)))) string-ci