diff --git a/brmsaptool.scm b/brmsaptool.scm index 4825e75..e56eb2d 100644 --- a/brmsaptool.scm +++ b/brmsaptool.scm @@ -433,18 +433,23 @@ (expand-members-raw-index (load-members-raw-index))) -;; Gets member record by member id (from filename/symlink) -(define (find-member-by-id mdb id) +;; Gets member record by member key +(define (find-member-by-key mdb key val) (let loop ((mdb mdb)) (if (null? mdb) #f (let ((mr (car mdb))) - (if (eq? (dict-ref mr 'id) id) + (if (equal? (dict-ref mr key) val) mr (loop (cdr mdb))))))) +;; Gets member record by member id (from file/symlink) +(define (find-member-by-id mdb id) + (find-member-by-key mdb 'id id)) + +;; Gets member record by member name (from file/symlink) (define (find-member-by-fname mb fname) - #f) + (find-member-by-key mdb 'name fname)) (define (find-member-by-nick mb nick) #f) @@ -467,8 +472,9 @@ ;; Perform requested action (define mdb (load-members-from-expanded-index (expand-members-raw-index (load-members-raw-index)))) -(print mdb) +; (print mdb) -(print (load-member-file "trimen")) +; (print (load-member-file "trimen")) (print (find-member-by-id mdb 2803)) +(print (find-member-by-fname mdb "joe"))