Sub-nick matching.

This commit is contained in:
Dominik Pantůček 2023-04-02 19:25:04 +02:00
parent 952fd03f16
commit 48636fc965
3 changed files with 20 additions and 4 deletions

View file

@ -153,10 +153,17 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
(print "Member id " (-member-id-) " not found!"))
mr)
(if (-member-nick-)
(let ((mr (find-member-by-nick MB (-member-nick-))))
(when (not mr)
(print "Member nick " (-member-nick-) " not found!"))
mr)
(let ((mrs (find-members-by-nick MB (-member-nick-))))
(cond ((null? mrs)
(newline)
(print "Member nick " (-member-nick-) " not found!")
#f)
((> (length mrs) 1)
(newline)
(print "Found: " (member-records->string mrs))
#f)
(else
(car mrs))))
#f)))
;;

View file

@ -31,6 +31,7 @@
load-members
find-member-by-id
find-member-by-nick
find-members-by-nick
list-members-ids
filter-members-by-predicate
list-members-nicks
@ -113,6 +114,13 @@
'nick)
nick))))
;; Returns a list of members whose nick contains pat
(define (find-members-by-nick mb pat)
(filter-members-by-predicate
mb
(lambda (mr)
(substring-index pat (member-nick mr)))))
;; Returns all ids found in the database
(define (list-members-ids mb)
(map (lambda (mr) (dict-ref mr 'id)) mb))

View file

@ -32,6 +32,7 @@
print-member-info
print-member-table
print-member-source
member-records->string
print-members-base-info
print-members-base-table
print-members-base-stats