From 0b9fe19b3ac601460b2830e08ec6e6e4d9a65584 Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Sat, 12 Oct 2024 19:52:09 +0200 Subject: [PATCH] function to detect days --- src/agenda_culturel/import_tasks/extractor.py | 39 +++++++++++++++---- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/src/agenda_culturel/import_tasks/extractor.py b/src/agenda_culturel/import_tasks/extractor.py index 175be00..c7e42e9 100644 --- a/src/agenda_culturel/import_tasks/extractor.py +++ b/src/agenda_culturel/import_tasks/extractor.py @@ -28,8 +28,38 @@ class Extractor(ABC): else: return start_day + def guess_startswith(text, strs): + t = remove_accents(text).lower() + for i, s in enumerate(strs): + if t.startswith(s): + return i + 1 + return None + + def guess_day_name(text, exact=False): + if exact: + return Extractor.guess_startswith(text, [ + "lundi", + "mardi", + "mercredi", + "jeudi", + "vendredi", + "samedi", + "dimanche", + ]) + else: + return Extractor.guess_startswith(text, [ + "lun", + "mar", + "mer", + "jeu", + "ven", + "sa", + "di", + ]) + + def guess_month(text): - mths = [ + return Extractor.guess_startswith(text, [ "jan", "fe", "mar", @@ -42,12 +72,7 @@ class Extractor(ABC): "oct", "nov", "dec", - ] - t = remove_accents(text).lower() - for i, m in enumerate(mths): - if t.startswith(m): - return i + 1 - return None + ]) def parse_french_date(text): # format NomJour Numero Mois Année