diff --git a/src/Makefile b/src/Makefile index df7c5d4..4101235 100644 --- a/src/Makefile +++ b/src/Makefile @@ -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) diff --git a/src/brmember-parser.scm b/src/brmember-parser.scm index 396f9a9..7531a3a 100644 --- a/src/brmember-parser.scm +++ b/src/brmember-parser.scm @@ -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))))