Unify finders naming.

This commit is contained in:
Dominik Pantůček 2023-04-13 20:02:28 +02:00
parent 25d0a806ce
commit 4893d1e7d5
6 changed files with 29 additions and 24 deletions

View file

@ -30,13 +30,18 @@
(
load-mbase
members-base-members
mbase-members
find-member-by-predicate
find-member-by-id
find-member-by-nick
find-members-by-predicate
find-members-by-nick
list-members-ids
filter-members-by-predicate
list-members-nicks
members-base-info
members-base-stats
get-free-members-ids
@ -97,12 +102,12 @@
mb)))))))
;; Returns the internal members list
(define (members-base-members mb)
(define (mbase-members mb)
(ldict-ref mb 'members))
;; Gets member based by generic predicate
(define (find-member-by-predicate mb pred)
(let loop ((mdb (members-base-members mb)))
(let loop ((mdb (mbase-members mb)))
(if (null? mdb)
#f
(let ((mr (car mdb)))
@ -130,7 +135,7 @@
;; Returns a list of members whose nick contains pat
(define (find-members-by-nick mb pat)
(filter-members-by-predicate
(find-members-by-predicate
mb
(lambda (mr)
(substring-index pat (brmember-nick mr)))))
@ -138,11 +143,16 @@
;; Returns all ids found in the database
(define (list-members-ids mb)
(map (lambda (mr) (ldict-ref mr 'id))
(members-base-members mb)))
(mbase-members mb)))
;; Returns all nicks found in the database
(define (list-members-nicks mb)
(map (lambda (mr) (ldict-ref (ldict-ref mr 'info) 'nick))
(mbase-members mb)))
;; Returns a list of members which match given predicate.
(define (filter-members-by-predicate mb pred)
(let loop ((mb (members-base-members mb))
(define (find-members-by-predicate mb pred)
(let loop ((mb (mbase-members mb))
(res '()))
(if (null? mb)
res
@ -152,14 +162,9 @@
(cons mr res)
res))))))
;; Returns all nicks found in the database
(define (list-members-nicks mb)
(map (lambda (mr) (ldict-ref (ldict-ref mr 'info) 'nick))
(members-base-members mb)))
;; Returns dictionary with statistics about the members base.
(define (members-base-info mb-arg)
(let* ((members (filter-members-by-predicate mb-arg brmember-usable?))
(let* ((members (find-members-by-predicate mb-arg brmember-usable?))
(di0 (make-ldict))
(di1 (ldict-set di0 'invalid
(filter (compose not is-4digit-prime? brmember-id) members)))
@ -220,7 +225,7 @@
(if (pred? mr)
(proc mr)
mr))
(members-base-members mb))))
(mbase-members mb))))
;; Adds unpaired transaction to given members-base
(define (members-base-add-unpaired mb tr)
@ -242,7 +247,7 @@
(lambda (mr)
(brmember-info mr 'mail))
(filter brmember-active?
(members-base-members mb))))
(mbase-members mb))))
string-ci<?))
;; Merges given ML members into members base