Inclure le 31 août dans les grandes vacances
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run

This commit is contained in:
root 2026-08-20 20:39:19 +00:00
parent 962e490a02
commit 24ee1bda74

View file

@ -45,11 +45,17 @@ def fetch_vacances_scolaires(zone="A", annee=None):
# Filtrer pour l'année scolaire demandée # Filtrer pour l'année scolaire demandée
start_date = datetime.fromisoformat(start.replace("Z", "+00:00")) start_date = datetime.fromisoformat(start.replace("Z", "+00:00"))
if start_date.year >= annee - 1: if start_date.year >= annee - 1:
raw_end_date = datetime.fromisoformat(end.replace("Z", "+00:00")).date()
end_date = raw_end_date - timedelta(days=1)
# Pour l'agent, le 31 août reste une journée de vacances
# (la rentrée des enseignants ne déclenche pas la reprise).
if "grandes vacances" in description.lower() and raw_end_date.month == 8:
end_date = raw_end_date
vacances.append({ vacances.append({
"start_date": start_date.date(), "start_date": start_date.date(),
# L'API indique la date de rentrée comme borne de fin. # L'API indique la date de rentrée comme borne de fin.
# Elle ne doit pas être affichée comme un jour de vacances. # Elle ne doit pas être affichée comme un jour de vacances.
"end_date": datetime.fromisoformat(end.replace("Z", "+00:00")).date() - timedelta(days=1), "end_date": end_date,
"description": description, "description": description,
"zone": zone "zone": zone
}) })
@ -179,7 +185,7 @@ def get_vacances_fallback(zone, annee):
}, },
] ]
return [{**vac, "end_date": vac["end_date"] - timedelta(days=1)} for vac in vacances] return [{**vac, "end_date": vac["end_date"] if "grandes vacances" in vac["description"].lower() else vac["end_date"] - timedelta(days=1)} for vac in vacances]
def get_jours_feries(annee=None): def get_jours_feries(annee=None):