From 63372e10ab07a32ebd95ba6323659646d5ab95d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Sat, 25 Mar 2023 22:40:52 +0100 Subject: [PATCH] New member parser documentation. --- MEMBERS.md | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/MEMBERS.md b/MEMBERS.md index d33c4eb..e5224a6 100644 --- a/MEMBERS.md +++ b/MEMBERS.md @@ -60,8 +60,32 @@ line numbers as the value for such key. The result is a valid dictionary of keys and multikeys. -Member File Grammar -------------------- +Member File Interpreter - Passes 3+ +----------------------------------- + +After getting a valid dictionary from the 2nd pass, the data gets interpreted. + +### Pass Markers + +All start/stop (student and suspend at the moment) markers are joined +into lists of markers, retaining source position information. + +### Info + +The student and suspend lists of markers are converted into a lists of +periods. + +The joined key is converted into a month value. + +Card and desfire lists are parsed to get lists of card id and optional +comment. + +Credit list is parsed to get a list of amounts and optional comments. + +Member Record Finalization +-------------------------- + +If there is no ```'joined``` key, default month is substituded. Member File Schema ------------------