fix(ical): stabiliser la clé de déduplication des devoirs
This commit is contained in:
@@ -370,7 +370,8 @@ def generate_homework_id(
|
||||
:rtype: str
|
||||
"""
|
||||
payload = (
|
||||
f"{due_on.isoformat()}|{subject}|{','.join(sorted(teachers))}|{normalized_text}".encode()
|
||||
f"{due_on.isoformat()}|{subject.casefold()}|"
|
||||
f"{','.join(sorted(teacher.casefold() for teacher in teachers))}|{normalized_text}".encode()
|
||||
)
|
||||
return hashlib.sha1(payload, usedforsecurity=False).hexdigest()[:12]
|
||||
|
||||
@@ -397,7 +398,7 @@ def collect_homeworks(lessons: list[Lesson], target_date: date) -> list[Homework
|
||||
normalized_text = normalize_homework_text(block.text)
|
||||
key = (
|
||||
lesson.subject.casefold(),
|
||||
tuple(teacher.casefold() for teacher in lesson.teachers),
|
||||
tuple(sorted(teacher.casefold() for teacher in lesson.teachers)),
|
||||
normalized_text,
|
||||
)
|
||||
if key not in by_context:
|
||||
@@ -421,7 +422,7 @@ def collect_homeworks(lessons: list[Lesson], target_date: date) -> list[Homework
|
||||
normalized_text = normalize_homework_text(block.text)
|
||||
key = (
|
||||
lesson.subject.casefold(),
|
||||
tuple(teacher.casefold() for teacher in lesson.teachers),
|
||||
tuple(sorted(teacher.casefold() for teacher in lesson.teachers)),
|
||||
normalized_text,
|
||||
)
|
||||
if key not in by_context:
|
||||
|
||||
Reference in New Issue
Block a user