Proper parsing of credit lines.

This commit is contained in:
Dominik Pantůček 2023-05-11 13:51:19 +02:00
parent d9b81561e9
commit be01416a93
2 changed files with 13 additions and 4 deletions

View file

@ -173,7 +173,7 @@ BRMEMBER-PARSER-SOURCES=brmember-parser.scm brmember.import.scm \
testing.import.scm util-dict-list.import.scm cal-month.import.scm \
cal-period.import.scm configuration.import.scm \
util-string.import.scm util-list.import.scm \
util-parser.import.scm
util-parser.import.scm cal-day.import.scm
brmember-parser.o: brmember-parser.import.scm
brmember-parser.import.scm: $(BRMEMBER-PARSER-SOURCES)

View file

@ -35,6 +35,7 @@
(chicken base)
(chicken io)
(chicken irregex)
(chicken string)
brmember
testing
util-dict-list
@ -43,7 +44,8 @@
util-list
configuration
util-string
util-parser)
util-parser
cal-day)
;; Pass 2: known keys
(define mandatory-keys '(nick name mail phone))
@ -116,8 +118,15 @@
(lambda (rec)
(let* ((fr (string-first+rest (car rec)))
(amt (string->number (car fr)))
(msg (cdr fr)))
(list amt "--" msg)))
(msg (cdr fr))
(mlst (string-split msg))
(mon (if (null? mlst)
#f
(parse-cal-day/month (car mlst))))
(rmsg (if mon
(string-intersperse (cdr mlst) " ")
msg)))
(list amt mon rmsg)))
value)))
((nick)
(let ((mr0 (brmember-sub-set mr output key (car value))))