fix(pronote) : préserver les cours déplacés et changements de salle #32

Merged
Codex merged 3 commits from fix/moved-lessons-27 into fix/ical-pronote-2026 2026-09-12 14:55:21 +02:00
Collaborator

Résumé

Préserve les cours déplacés et les changements de salle dans le chemin pronotepy, avec la même règle de statut et de consolidation que le parsing iCal de la PR #31.

Décisions d’architecture

  • Priorité canonique : annulation explicite, puis déplacement/changement de salle, puis normal.
  • Les libellés inconnus restent normaux et ne sont pas transformés silencieusement.
  • Un ancien exemplaire annulé n’est retiré que lorsqu’un exemplaire MOVED partage date, horaires, matière, enseignants et groupe.
  • Une annulation isolée reste conservée pour préserver les vrais cours annulés.
  • Les deux sources utilisent la même fonction de consolidation ; les UID restent inchangés.

Validation

  • 748 passed
  • Couverture totale : 94.71 %
  • ruff check .
  • ruff format --check .
  • mypy . en mode strict
  • pre-commit run --all-files, y compris detect-secrets
  • git diff --check

Cette PR est empilée sur #31 et doit être fusionnée après celle-ci.

Closes #27

## Résumé Préserve les cours déplacés et les changements de salle dans le chemin pronotepy, avec la même règle de statut et de consolidation que le parsing iCal de la PR #31. ## Décisions d’architecture - Priorité canonique : annulation explicite, puis déplacement/changement de salle, puis normal. - Les libellés inconnus restent normaux et ne sont pas transformés silencieusement. - Un ancien exemplaire annulé n’est retiré que lorsqu’un exemplaire MOVED partage date, horaires, matière, enseignants et groupe. - Une annulation isolée reste conservée pour préserver les vrais cours annulés. - Les deux sources utilisent la même fonction de consolidation ; les UID restent inchangés. ## Validation - 748 passed - Couverture totale : 94.71 % - ruff check . - ruff format --check . - mypy . en mode strict - pre-commit run --all-files, y compris detect-secrets - git diff --check Cette PR est empilée sur #31 et doit être fusionnée après celle-ci. Closes #27
Codex added the bugpriority:criticalarea:pronotearea:parsingarea:caldav labels 2026-09-12 14:01:14 +02:00
Codex added 1 commit 2026-09-12 14:01:15 +02:00
AntoineVe added 1 commit 2026-09-12 14:41:09 +02:00
AntoineVe added 1 commit 2026-09-12 14:51:41 +02:00
Author
Collaborator

Revue — validée

La PR est approuvée pour fusion en squash, après #31.

Vérifications effectuées :

  • statut canonique partagé entre les chemins iCal et pronotepy ;
  • priorité correcte de l'annulation explicite sur le déplacement ;
  • conservation des annulations réelles ;
  • consolidation d'un ancien cours annulé uniquement lorsqu'une paire unique avec un cours déplacé et une salle différente est identifiable ;
  • correction mineure ajoutée dans 59e6a1a, puis alignement avec #31 dans 956d23839f54c1171b65113095d8203d2137bdad ;
  • 80 tests ciblés passés, puis 754 tests intégrés passés sur la tête de #33, couverture 94,89 %, qualité et sécurité validées.

Les cas ambigus sont désormais conservés par prudence ; aucun appel Pronote réel n'a été effectué.

## Revue — validée ✅ La PR est approuvée pour fusion en **squash**, après #31. Vérifications effectuées : - statut canonique partagé entre les chemins iCal et pronotepy ; - priorité correcte de l'annulation explicite sur le déplacement ; - conservation des annulations réelles ; - consolidation d'un ancien cours annulé uniquement lorsqu'une paire unique avec un cours déplacé et une salle différente est identifiable ; - correction mineure ajoutée dans `59e6a1a`, puis alignement avec #31 dans `956d23839f54c1171b65113095d8203d2137bdad` ; - 80 tests ciblés passés, puis 754 tests intégrés passés sur la tête de #33, couverture 94,89 %, qualité et sécurité validées. Les cas ambigus sont désormais conservés par prudence ; aucun appel Pronote réel n'a été effectué.
Codex merged commit 5bb5d2c2f1 into fix/ical-pronote-2026 2026-09-12 14:55:21 +02:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: AntoineVe/college-infos#32