Print basic user information.
This commit is contained in:
parent
90abcaa03c
commit
518f23338b
1 changed files with 38 additions and 2 deletions
|
@ -536,13 +536,24 @@
|
|||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Run everything
|
||||
|
||||
(define action (make-parameter #f))
|
||||
(define member-parm (make-parameter #f))
|
||||
|
||||
;; Print banner
|
||||
(print "brmsaptool 0.1 (c) 2023 Brmlab, z.s.")
|
||||
(newline)
|
||||
|
||||
;; Handle options
|
||||
(parse-command-line
|
||||
(("-h" print-help)
|
||||
("-M" (lambda (dn) (*members-directory* dn)))))
|
||||
("-M" (lambda (dn) (*members-directory* dn)))
|
||||
("-mi" (lambda (id)
|
||||
(action 'member-by-id)
|
||||
(member-parm (string->number id))))
|
||||
("-mn" (lambda (nick)
|
||||
(action 'member-by-nick)
|
||||
(member-parm nick)))
|
||||
))
|
||||
|
||||
;; Run tests
|
||||
(print "Running self-tests:")
|
||||
|
@ -552,9 +563,34 @@
|
|||
(print "All self-tests ok!")
|
||||
(newline)
|
||||
|
||||
;; Perform requested action
|
||||
;; Load the members database
|
||||
(display "Loading members ")
|
||||
(define MDB (load-members))
|
||||
(print " ok.")
|
||||
(print "Members in database: " (length MDB))
|
||||
(newline)
|
||||
|
||||
;; Perform requested action
|
||||
(case (action)
|
||||
((member-by-id member-by-nick)
|
||||
(let ((mr (if (eq? (action) 'member-by-id)
|
||||
(find-member-by-id MDB (member-parm))
|
||||
(find-member-by-nick MDB (member-parm)))))
|
||||
(if mr
|
||||
(let* ((id (dict-ref mr 'id))
|
||||
(name (dict-ref mr 'name))
|
||||
(info (dict-ref mr 'info))
|
||||
(sinfo (sort info
|
||||
(lambda (a b)
|
||||
(string<?
|
||||
(symbol->string (car a))
|
||||
(symbol->string (car b)))))))
|
||||
(print "User " id " alias " name)
|
||||
(let loop ((sinfo sinfo))
|
||||
(when (not (null? sinfo))
|
||||
(let ((kv (car sinfo)))
|
||||
(print " " (car kv) ":\t" (cdr kv))
|
||||
(loop (cdr sinfo))))))
|
||||
(let ()
|
||||
(print "No such member " (member-parm) ".")))))
|
||||
((#f) (print "No action specified.")))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue