diff --git a/brmsaptool.scm b/brmsaptool.scm index 13009a1..62d7165 100644 --- a/brmsaptool.scm +++ b/brmsaptool.scm @@ -76,6 +76,7 @@ (-mi (id) "Specify member by id" (-member-id- (string->number id))) (-mn (nick) "Specify member by nick" (-member-nick- nick)) (-pi () "Print information" (-action- 'print-info)) + (-stats () "Get stats for all months" (-action- 'print-stats)) ) ;; Load the members database (required for everything anyway) @@ -98,4 +99,7 @@ (if mr (print-member-record-info mr) (print-members-base-info MB)) - (newline))) + (newline)) + ((print-stats) + (print (members-base-stats MB))) + ) diff --git a/members-base.scm b/members-base.scm index f49ebb2..d4b498e 100644 --- a/members-base.scm +++ b/members-base.scm @@ -33,6 +33,7 @@ find-member-by-nick list-members-ids list-members-nicks + members-base-stats print-members-base-info members-base-tests! ) @@ -276,8 +277,9 @@ (filter-members-by-predicate mb member-student?))) (di5 (dict-set di4 'destroyed (filter-members-by-predicate mb member-destroyed?))) - (di6 (dict-set di5 'month (*current-month*)))) - di6)) + (di6 (dict-set di5 'month (*current-month*))) + (di7 (dict-set di6 'total mb))) + di7)) ;; Returns a list two lists: keys, data. ;; Each data record contains values for all keys. @@ -288,12 +290,12 @@ (if (month