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
|
Modules
|
||||||
-------
|
-------
|
||||||
|
|
||||||
### Member Record
|
### Base Member Record
|
||||||
|
|
||||||
|
(import brmember)
|
||||||
|
|
||||||
This module encapsulates the data structure representing a single
|
This module encapsulates the data structure representing a single
|
||||||
member record.
|
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-name``` - a symbol representing the primary filename
|
||||||
* ```file-path``` - a string representing the path to the file
|
* ```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
|
converted to a number. Preferably the four-digit symbol should be the
|
||||||
file-name but it is not required.
|
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
|
* ```mr``` - a member record structure
|
||||||
|
|
||||||
Returns the path used for accessing this member's file.
|
Returns the path used for accessing this member's file.
|
||||||
|
|
||||||
(member-record-input-file mr)
|
(brmember-input-file mr)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```mr``` - a member record structure
|
||||||
|
|
||||||
Returns an open file port to given member record underlying file. This
|
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.
|
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
|
* ```mr``` - a member record structure
|
||||||
* ```args``` - optional keyword arguments
|
* ```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
|
keys obtained by converting the keyword to symbol with values
|
||||||
following the keyword.
|
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
|
* ```mr``` - a member record structure
|
||||||
* ```line``` - line number in the source file
|
* ```line``` - line number in the source file
|
||||||
|
@ -67,7 +82,7 @@ Known types are:
|
||||||
|
|
||||||
The structure is perfectly suited for ```print-source-listing``` function.
|
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
|
* ```mr``` - a member record structure
|
||||||
* ```sec``` - section symbol
|
* ```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
|
in given ```mr``` structure. If no ```default``` is provided and the
|
||||||
```key``` does not exist it raises an exception.
|
```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
|
* ```mr``` - a member record structure
|
||||||
* ```sec``` - section symbol
|
* ```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
|
```sec``` in given ```mr``` structure to the new ```value``` possibly
|
||||||
overwriting previous one.
|
overwriting previous one.
|
||||||
|
|
||||||
(member-record-sub-prepend mr sec key value)
|
(brmember-sub-prepend mr sec key value)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```mr``` - a member record structure
|
||||||
* ```sec``` - section symbol
|
* ```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
|
dictionary stored as section ```sec``` in given ```mr``` structure
|
||||||
replacing the original value.
|
replacing the original value.
|
||||||
|
|
||||||
(member-record-sub-has-key? mr sec key)
|
(brmember-sub-has-key? mr sec key)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```mr``` - a member record structure
|
||||||
* ```sec``` - section symbol
|
* ```sec``` - section symbol
|
||||||
|
@ -108,7 +123,7 @@ replacing the original value.
|
||||||
|
|
||||||
Returns ```#t``` if given section ```sec``` contains the ```key```.
|
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
|
* ```mr``` - a member record structure
|
||||||
* ```sec``` - section symbol
|
* ```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
|
```sec``` in given ```mr``` structure to the new ```value``` if and
|
||||||
only if it is not already present.
|
only if it is not already present.
|
||||||
|
|
||||||
(member-source mr)
|
(brmember-source mr)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```mr``` - a member record structure
|
||||||
|
|
||||||
Returns a list of strings representing the source file of this member
|
Returns a list of strings representing the source file of this member
|
||||||
record.
|
record.
|
||||||
|
|
||||||
(member-record-info mr key [default])
|
(brmember-info mr key [default])
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```mr``` - a member record structure
|
||||||
* ```key``` - key (symbol) to retrieve
|
* ```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
|
section ```'info```. If ```default``` is provided, it is passed on to
|
||||||
the underlying ```dict-ref```.
|
the underlying ```dict-ref```.
|
||||||
|
|
||||||
(member-missing-keys mr)
|
(brmember-missing-keys mr)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```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
|
of given ```mr``` that have ```#f``` values (indicating they are
|
||||||
missing mandatory fields in the source).
|
missing mandatory fields in the source).
|
||||||
|
|
||||||
(member-has-highlights? mr)
|
(brmember-has-highlights? mr)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```mr``` - a member record structure
|
||||||
|
|
||||||
Returns ```#t``` if given ```mr``` has at least one source highlight.
|
Returns ```#t``` if given ```mr``` has at least one source highlight.
|
||||||
|
|
||||||
(member-record-usable? mr)
|
(brmember-usable? mr)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```mr``` - a member record structure
|
||||||
|
|
||||||
Returns ```#t``` if it is possible to work with this member - mainly
|
Returns ```#t``` if it is possible to work with this member - mainly
|
||||||
that the ```'info``` section contains the ```'member``` key.
|
that the ```'info``` section contains the ```'member``` key.
|
||||||
|
|
||||||
(member-has-problems? mr)
|
(brmember-has-problems? mr)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```mr``` - a member record structure
|
||||||
|
|
||||||
Returns ```#t``` if there are any ```'error``` type highlights in
|
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-id``` is not 4-digit prime number.
|
||||||
|
|
||||||
(member-destroyed? mr)
|
(brmember-destroyed? mr)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```mr``` - a member record structure
|
||||||
|
|
||||||
Returns ```#t``` if the member is not existing and already has existed
|
Returns ```#t``` if the member is not existing and already has existed
|
||||||
in the past.
|
in the past.
|
||||||
|
|
||||||
(member-suspended? mr)
|
(brmember-suspended? mr)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```mr``` - a member record structure
|
||||||
|
|
||||||
Returns ```#t``` if the current month falls within any of given member's
|
Returns ```#t``` if the current month falls within any of given member's
|
||||||
suspended periods.
|
suspended periods.
|
||||||
|
|
||||||
(member-active? mr)
|
(brmember-active? mr)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```mr``` - a member record structure
|
||||||
|
|
||||||
Returns ```#t``` if given member exists, is a member and is currently
|
Returns ```#t``` if given member exists, is a member and is currently
|
||||||
not suspended.
|
not suspended.
|
||||||
|
|
||||||
(member-student? mr)
|
(brmember-student? mr)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```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
|
suspended and current month falls within any member's suspended
|
||||||
periods.
|
periods.
|
||||||
|
|
||||||
(member-existing? mr)
|
(brmember-existing? mr)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```mr``` - a member record structure
|
||||||
|
|
||||||
Returns ```#t``` if given member exists - that is the current month is
|
Returns ```#t``` if given member exists - that is the current month is
|
||||||
within any of the member (membership) periods.
|
within any of the member (membership) periods.
|
||||||
|
|
||||||
(member-flags mr)
|
(brmember-flags mr)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```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
|
The ```'existing``` and ```'destroyed``` are mutually exclusive. Also
|
||||||
```'active``` and ```'suspended``` are mutually exclusive.
|
```'active``` and ```'suspended``` are mutually exclusive.
|
||||||
|
|
||||||
(member-nick mr)
|
(brmember-nick mr)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```mr``` - a member record structure
|
||||||
|
|
||||||
Returns member's nick from its ```'info``` section.
|
Returns member's nick from its ```'info``` section.
|
||||||
|
|
||||||
(member-id mr)
|
(brmember-id mr)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```mr``` - a member record structure
|
||||||
|
|
||||||
Returns given member's id.
|
Returns given member's id.
|
||||||
|
|
||||||
(member-suspended-months mr)
|
(brmember-suspended-months mr)
|
||||||
|
|
||||||
* ```mr``` - a member record structure
|
* ```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
|
```(*current-month*)```. If the member is not suspended, returns
|
||||||
```0```.
|
```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)
|
(member-format fmt mr)
|
||||||
|
|
||||||
* ```fmt``` - format string
|
* ```fmt``` - format string
|
||||||
|
@ -251,29 +308,6 @@ Fills the following template substitutions in the ```fmt``` string:
|
||||||
|
|
||||||
Other parts of the string are retained.
|
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
|
### Member Parser
|
||||||
|
|
||||||
This module exports only one function - the ```load-member-file```
|
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
|
* ```mr``` - (almost) empty member record structure
|
||||||
|
|
||||||
It must be possible to get the member file using
|
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
|
lines, processes these lines with 1st and 2nd pass parsers, interprets
|
||||||
the result using 3rd passes and finalizes the result in the 4th pass.
|
the result using 3rd passes and finalizes the result in the 4th pass.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue