From 18daf5d482bfbdb197073b6e9448038530b81d38 Mon Sep 17 00:00:00 2001 From: Ruidy Date: Sat, 6 Jul 2024 10:50:39 +0200 Subject: [PATCH] improve date parsing --- internal/booking/service.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/booking/service.go b/internal/booking/service.go index 514d77f..0dd7ed1 100644 --- a/internal/booking/service.go +++ b/internal/booking/service.go @@ -261,7 +261,7 @@ func (bs Service) ParseFromApi(rawContent string) (*Booking, error) { } func extractDate(pattern, content string) string { - re := regexp.MustCompile(pattern + `\w+\.\s*\d{1,2}\s\w+\.*\s\d{4}`) + re := regexp.MustCompile(pattern + `(lun|mar|mer|jeu|ven|sam|dim)\. \d{1,2} (janv|févr|mars|avr|mai|juin|juil|août|sept|oct|nov|déc)\.? \d{4}`) dateMatch := re.FindString(content) if dateMatch == "" { @@ -311,7 +311,7 @@ func extractString(pattern, content string) string { func formatDate(date string) *time.Time { months := map[string]string{ "janv.": "01", "fév": "02", "mar": "03", "avr": "04", - "mai": "05", "juin": "06", "juil.": "07", "aoû": "08", + "mai": "05", "juin": "06", "juil.": "07", "août": "08", "sep": "09", "oct": "10", "nov": "11", "déc": "12", } parts := strings.Split(date, " ")