Enhance error checking on dates

This commit is contained in:
Emmanuel Viennet 2024-11-25 15:44:29 +01:00
parent e63b73af97
commit ea1e1a1ad1
2 changed files with 13 additions and 5 deletions

View File

@ -1463,7 +1463,12 @@ def date_debut_annee_scolaire(annee_sco: int | None = None) -> datetime.datetime
"""
if annee_sco is None:
annee_sco = annee_scolaire()
return datetime.datetime(year=annee_sco, month=MONTH_DEBUT_ANNEE_SCOLAIRE, day=1)
try:
return datetime.datetime(
year=annee_sco, month=MONTH_DEBUT_ANNEE_SCOLAIRE, day=1
)
except ValueError as exc:
raise ScoValueError("année scolaire invalide") from exc
def date_fin_annee_scolaire(annee_sco: int | None = None) -> datetime.datetime:
@ -1475,9 +1480,12 @@ def date_fin_annee_scolaire(annee_sco: int | None = None) -> datetime.datetime:
# On s'affranchit ainsi des problèmes de durées de mois.
if annee_sco is None:
annee_sco = annee_scolaire()
try:
return datetime.datetime(
year=annee_sco + 1, month=MONTH_DEBUT_ANNEE_SCOLAIRE, day=1
) - datetime.timedelta(days=1)
except (TypeError, ValueError) as exc:
raise ScoValueError("année scolaire invalide") from exc
def sem_decale_str(sem):

View File

@ -3,7 +3,7 @@
"Infos sur version ScoDoc"
SCOVERSION = "9.7.45"
SCOVERSION = "9.7.46"
SCONAME = "ScoDoc"