feat(M4): sources/pronote/ical.py — fetch, parsing et collecte des devoirs
- fetch_ical : HTTP via requests, support file:// (URI décodé), validation BEGIN:VCALENDAR, exceptions redactées - get_calendar_name : extraction X-WR-CALNAME (paramètres + lignes repliées) - parse_ical : parsing VEVENT → Lesson/SchoolEvent, détection cours annulé/déplacé, UID déterministe si absent, homeworks toujours vide - collect_homeworks : deux passes (due + assigned), déduplication par ID, tri par (subject, text), target_date injecté - generate_homework_id : SHA-1 12 chars (usedforsecurity=False) - normalize_homework_text : unification whitespace/HTML/lowercase - pre-commit : ajout de types-requests et icalendar au hook mypy Co-authored-by: opencode/coder <coder@agents.invalid>
This commit is contained in:
@@ -26,7 +26,7 @@ repos:
|
||||
name: mypy
|
||||
entry: mypy
|
||||
language: python
|
||||
additional_dependencies: ["mypy>=1.10.0", "pydantic>=2.0.0", "pydantic-settings>=2.0.0", "pytest>=8.0.0"]
|
||||
additional_dependencies: ["mypy>=1.10.0", "pydantic>=2.0.0", "pydantic-settings>=2.0.0", "pytest>=8.0.0", "types-requests>=2.31.0", "icalendar>=5.0.0"]
|
||||
types: [python]
|
||||
pass_filenames: true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user