Finish mbase documentation.

This commit is contained in:
Dominik Pantůček 2023-04-23 18:05:01 +02:00
parent ded69fac1b
commit 42d47b3efe

View file

@ -386,22 +386,31 @@ load, parse and interpret its contents.
### Members Base
(import mbase)
This module uses the members directory module to load and parse all
members files and provides a simple interface for accessing the data.
(load-members dn [progress?])
(load-mbase dn [progress?])
* ```dn``` - directory with member files
* ```progress?``` - if ```#t```, displays loading progress
Loads all member files and creates a members base data structure.
(members-base-members mb)
(mbase-members mb)
* ```mb``` - members base structure
Returns the list of all member records loaded.
(find-member-by-predicate mb id)
* ```mb``` - members base structure
* ```id``` - member identifier (4-digit prime number)
Returns the member record associated with the provided ```id```.
(find-member-by-id mb id)
* ```mb``` - members base structure
@ -416,6 +425,13 @@ Returns the member record associated with the provided ```id```.
Returns the member record identified by its ```nick```.
(find-members-by-predicate mb pred)
* ```mb``` - members base structure
* ```pred``` - predicate procedure
Returns a list of all member records matching the given predicate.
(find-members-by-nick mb nick)
* ```mb``` - members base structure
@ -425,26 +441,42 @@ Returns the list of all member records with substring matching of
```nick```. May return empty list, list with one member or multiple
member records.
(list-members-ids mb)
(list-mbase-ids mb)
* ```mb``` - members base structure
Returns a list of all members' ids.
(filter-members-by-predicate mb pred)
* ```mb``` - members base structure
* ```pred``` - predicate procedure
Returns a list of all member records matching the given predicate.
(list-members-nicks mb)
(list-mbase-nicks mb)
* ```mb``` - members base structure
Returns a list of all member nicks.
(members-base-info mb)
(mbase-free-ids mb)
* ```mb``` - members base structure
Returns a list of valid member ids which are not already used in given
members base.
(mbase-gen-id mb)
* ```mb``` - members base structure
Generates a random 4-digit prime number which is not yet used as a
member id.
(mbase-update mb pred? proc)
* ```mb``` - members base structure
* ```pred?``` - member record predicate
* ```proc``` - processing procedure
Updates given members base by applying ```proc``` to all member
records matching ```pred?```.
(mbase-info mb)
* ```mb``` - members base structure
@ -462,7 +494,7 @@ base. The dictionary contains the following keys:
This procedure is used for further printing of information about given
members base.
(members-base-stats mb)
(mbase-stats mb)
* ```mb``` - members base structure
@ -470,26 +502,33 @@ Creates a list of lists of statistical information about given members
base through time. The first row of the resulting list contains column
headers and the rows are sorted chronologically by month.
(get-free-members-ids mb)
(mbase-add-unpaired mb tr)
* ```mb``` - members base structure
* ```mb``` - mbase structure
* ```tr``` - bank-transaction
Returns a list of valid member ids which are not already used in given
members base.
Adds given transaction ```tr``` into unpaired transactions list of
```mb``` mbase.
(gen-member-id mb)
(mbase-unpaired mb)
* ```mb``` - mbase structure
* ```mb``` - members base structure
Returns the list of unpaired transactions recorded.
Generates a random 4-digit prime number which is not yet used as a
member id.
(mbase-active-emails mb)
(members-base-update mb pred? proc)
* ```mb``` - mbase structure
* ```mb``` - members base structure
* ```pred?``` - member record predicate
* ```proc``` - processing procedure
Returns the list of emails of all active members.
Updates given members base by applying ```proc``` to all member
records matching ```pred?```.
(mbase-merge-mailman mb ml)
* ```mb``` - mbase structure
* ```ml``` - mailman mailinglist info
Based on mailman mailinglist emails - ```(cdr ml)``` at the moment -
merges the listname - ```(car ml)``` at the moment - into respective
members of givem ```mb``` structure.
The ```ml``` should be output of ```mailman-list-members```.