Update brmember and brmember-format documentation.
This commit is contained in:
parent
3007ab8528
commit
9123573267
1 changed files with 85 additions and 51 deletions
136
doc/mbase.md
136
doc/mbase.md
|
@ -6,12 +6,14 @@ These modules manage the member files in members directory.
|
|||
Modules
|
||||
-------
|
||||
|
||||
### Member Record
|
||||
### Base Member Record
|
||||
|
||||
(import brmember)
|
||||
|
||||
This module encapsulates the data structure representing a single
|
||||
member record.
|
||||
|
||||
(make-member-record file-name file-path symlinks . args)
|
||||
(make-brmember file-name file-path symlinks . args)
|
||||
|
||||
* ```file-name``` - a symbol representing the primary filename
|
||||
* ```file-path``` - a string representing the path to the file
|
||||
|
@ -27,19 +29,32 @@ The ```'id``` key is filled with any four-digit file-name or symlink
|
|||
converted to a number. Preferably the four-digit symbol should be the
|
||||
file-name but it is not required.
|
||||
|
||||
(member-file-path mr)
|
||||
(brmember? v)
|
||||
|
||||
* ```v``` - any value
|
||||
|
||||
Returns ```#t``` if given value ```v``` is a brmember instance.
|
||||
|
||||
(brmember-file-name mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns the file name of this member's file usually without full path.
|
||||
|
||||
(brmember-file-path mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns the path used for accessing this member's file.
|
||||
|
||||
(member-record-input-file mr)
|
||||
(brmember-input-file mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns an open file port to given member record underlying file. This
|
||||
function should be used by the parser to get the member file contents.
|
||||
|
||||
(member-record-set mr . args)
|
||||
(brmember-set mr . args)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
* ```args``` - optional keyword arguments
|
||||
|
@ -48,7 +63,7 @@ Any keyword arguments are stored in the member record dictionary as
|
|||
keys obtained by converting the keyword to symbol with values
|
||||
following the keyword.
|
||||
|
||||
(member-record-add-highlight mr line message pass type)
|
||||
(brmember-add-highlight mr line message pass type)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
* ```line``` - line number in the source file
|
||||
|
@ -67,7 +82,7 @@ Known types are:
|
|||
|
||||
The structure is perfectly suited for ```print-source-listing``` function.
|
||||
|
||||
(member-record-sub-ref mr sec key [default])
|
||||
(brmember-sub-ref mr sec key [default])
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
* ```sec``` - section symbol
|
||||
|
@ -78,7 +93,7 @@ Retrieves given ```key``` from dictionary stored as section ```sec```
|
|||
in given ```mr``` structure. If no ```default``` is provided and the
|
||||
```key``` does not exist it raises an exception.
|
||||
|
||||
(member-record-sub-set mr sec key value)
|
||||
(brmember-sub-set mr sec key value)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
* ```sec``` - section symbol
|
||||
|
@ -89,7 +104,7 @@ Sets the value of given ```key``` in dictionary stored as section
|
|||
```sec``` in given ```mr``` structure to the new ```value``` possibly
|
||||
overwriting previous one.
|
||||
|
||||
(member-record-sub-prepend mr sec key value)
|
||||
(brmember-sub-prepend mr sec key value)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
* ```sec``` - section symbol
|
||||
|
@ -100,7 +115,7 @@ Prepends (cons) new the ```value``` to current value of given ```key``` in
|
|||
dictionary stored as section ```sec``` in given ```mr``` structure
|
||||
replacing the original value.
|
||||
|
||||
(member-record-sub-has-key? mr sec key)
|
||||
(brmember-sub-has-key? mr sec key)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
* ```sec``` - section symbol
|
||||
|
@ -108,7 +123,7 @@ replacing the original value.
|
|||
|
||||
Returns ```#t``` if given section ```sec``` contains the ```key```.
|
||||
|
||||
(member-record-sub-ensure mr sec key value)
|
||||
(brmember-sub-ensure mr sec key value)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
* ```sec``` - section symbol
|
||||
|
@ -119,14 +134,14 @@ Sets the value of given ```key``` in dictionary stored as section
|
|||
```sec``` in given ```mr``` structure to the new ```value``` if and
|
||||
only if it is not already present.
|
||||
|
||||
(member-source mr)
|
||||
(brmember-source mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns a list of strings representing the source file of this member
|
||||
record.
|
||||
|
||||
(member-record-info mr key [default])
|
||||
(brmember-info mr key [default])
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
* ```key``` - key (symbol) to retrieve
|
||||
|
@ -136,7 +151,7 @@ Like ```dict-ref``` returns the value associated with ```key``` in
|
|||
section ```'info```. If ```default``` is provided, it is passed on to
|
||||
the underlying ```dict-ref```.
|
||||
|
||||
(member-missing-keys mr)
|
||||
(brmember-missing-keys mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
|
@ -144,49 +159,49 @@ Returns a list of keys (symbols) from within the ```'info``` section
|
|||
of given ```mr``` that have ```#f``` values (indicating they are
|
||||
missing mandatory fields in the source).
|
||||
|
||||
(member-has-highlights? mr)
|
||||
(brmember-has-highlights? mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns ```#t``` if given ```mr``` has at least one source highlight.
|
||||
|
||||
(member-record-usable? mr)
|
||||
(brmember-usable? mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns ```#t``` if it is possible to work with this member - mainly
|
||||
that the ```'info``` section contains the ```'member``` key.
|
||||
|
||||
(member-has-problems? mr)
|
||||
(brmember-has-problems? mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns ```#t``` if there are any ```'error``` type highlights in
|
||||
```mr```, or it is not ```member-record-usable?``` or the
|
||||
```mr```, or it is not ```brmember-usable?``` or the
|
||||
```member-id``` is not 4-digit prime number.
|
||||
|
||||
(member-destroyed? mr)
|
||||
(brmember-destroyed? mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns ```#t``` if the member is not existing and already has existed
|
||||
in the past.
|
||||
|
||||
(member-suspended? mr)
|
||||
(brmember-suspended? mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns ```#t``` if the current month falls within any of given member's
|
||||
suspended periods.
|
||||
|
||||
(member-active? mr)
|
||||
(brmember-active? mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns ```#t``` if given member exists, is a member and is currently
|
||||
not suspended.
|
||||
|
||||
(member-student? mr)
|
||||
(brmember-student? mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
|
@ -194,14 +209,14 @@ Returns ```#t``` if given member exists, is a member, is currently not
|
|||
suspended and current month falls within any member's suspended
|
||||
periods.
|
||||
|
||||
(member-existing? mr)
|
||||
(brmember-existing? mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns ```#t``` if given member exists - that is the current month is
|
||||
within any of the member (membership) periods.
|
||||
|
||||
(member-flags mr)
|
||||
(brmember-flags mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
|
@ -216,19 +231,19 @@ Returns a list of member flags which can be any of the following:
|
|||
The ```'existing``` and ```'destroyed``` are mutually exclusive. Also
|
||||
```'active``` and ```'suspended``` are mutually exclusive.
|
||||
|
||||
(member-nick mr)
|
||||
(brmember-nick mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns member's nick from its ```'info``` section.
|
||||
|
||||
(member-id mr)
|
||||
(brmember-id mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns given member's id.
|
||||
|
||||
(member-suspended-months mr)
|
||||
(brmember-suspended-months mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
|
@ -236,6 +251,48 @@ Returns the number of months this member is suspended in
|
|||
```(*current-month*)```. If the member is not suspended, returns
|
||||
```0```.
|
||||
|
||||
(brmember<? a b)
|
||||
|
||||
* ```a``` - a member record structure
|
||||
* ```b``` - a member record structure
|
||||
|
||||
Returns true if member ```a```'s nick comes before ```b```'s nick in
|
||||
the lexicographical order.
|
||||
|
||||
(brmember-add-payment mr pt)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
* ```pt``` - bank transaction of the payment
|
||||
|
||||
Adds (prepends) given transaction ```pt``` to given member record
|
||||
```mr```'s ```'payments'``` key list.
|
||||
|
||||
(brmember-payments mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns the payments (bank transactions) list of given member record
|
||||
```mr``` defaulting to an empty list.
|
||||
|
||||
(brmember-mailman mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns a list of mailman mailing lists this member is member of.
|
||||
|
||||
(brmember-add-mailman mr ml)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
* ```ml``` - mailinglist name
|
||||
|
||||
Adds given mailman mailinglist into the list of given members mailinglists.
|
||||
|
||||
### Base Member Record Formatter
|
||||
|
||||
(import brmember-format)
|
||||
|
||||
Allows format-like formatting of brmember records.
|
||||
|
||||
(member-format fmt mr)
|
||||
|
||||
* ```fmt``` - format string
|
||||
|
@ -251,29 +308,6 @@ Fills the following template substitutions in the ```fmt``` string:
|
|||
|
||||
Other parts of the string are retained.
|
||||
|
||||
(member<? a b)
|
||||
|
||||
* ```a``` - a member record structure
|
||||
* ```b``` - a member record structure
|
||||
|
||||
Returns true if member ```a```'s nick comes before ```b```'s nick in
|
||||
the lexicographical order.
|
||||
|
||||
(member-record-add-payment mr pt)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
* ```pt``` - bank transaction of the payment
|
||||
|
||||
Adds (prepends) given transaction ```pt``` to given member record
|
||||
```mr```'s ```'payments'``` key list.
|
||||
|
||||
(member-payments mr)
|
||||
|
||||
* ```mr``` - a member record structure
|
||||
|
||||
Returns the payments (bank transactions) list of given member record
|
||||
```mr``` defaulting to an empty list.
|
||||
|
||||
### Member Parser
|
||||
|
||||
This module exports only one function - the ```load-member-file```
|
||||
|
@ -314,7 +348,7 @@ key and start/stop tag.
|
|||
* ```mr``` - (almost) empty member record structure
|
||||
|
||||
It must be possible to get the member file using
|
||||
```member-record-input-file``` function. Loads the file as a list of
|
||||
```brmember-input-file``` function. Loads the file as a list of
|
||||
lines, processes these lines with 1st and 2nd pass parsers, interprets
|
||||
the result using 3rd passes and finalizes the result in the 4th pass.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue