diff --git a/app/scodoc/sco_utils.py b/app/scodoc/sco_utils.py index 5aeb45364..25245424e 100644 --- a/app/scodoc/sco_utils.py +++ b/app/scodoc/sco_utils.py @@ -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() - return datetime.datetime( - year=annee_sco + 1, month=MONTH_DEBUT_ANNEE_SCOLAIRE, day=1 - ) - datetime.timedelta(days=1) + 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): diff --git a/sco_version.py b/sco_version.py index 6aa3cea4a..2f45e0690 100644 --- a/sco_version.py +++ b/sco_version.py @@ -3,7 +3,7 @@ "Infos sur version ScoDoc" -SCOVERSION = "9.7.45" +SCOVERSION = "9.7.46" SCONAME = "ScoDoc"