Fix crawling of exercises with instructions

We do not want a second path and the instruction field has an identical
link...
This commit is contained in:
I-Al-Istannen
2025-04-29 18:30:33 +02:00
parent 77a23265a9
commit dd2fedf1a2
2 changed files with 13 additions and 9 deletions

View File

@ -22,6 +22,9 @@ ambiguous situations.
## Unreleased ## Unreleased
## Fixed
- Crawling of exercises with instructions
## 3.8.2 - 2025-04-29 ## 3.8.2 - 2025-04-29
## Changed ## Changed

View File

@ -975,16 +975,17 @@ class IliasPage:
_unexpected_html_warning() _unexpected_html_warning()
return [] return []
individual_exercises = content_tab.find_all( exercise_links = content_tab.select(".il-item-title a")
name="a",
attrs={ for exercise in cast(list[Tag], exercise_links):
"href": lambda x: x is not None if "href" not in exercise.attrs:
and "ass_id=" in x continue
and "cmdClass=ilAssignmentPresentationGUI" in x href = exercise.attrs["href"]
} if type(href) is not str:
) continue
if "ass_id=" not in href or "cmdclass=ilassignmentpresentationgui" not in href.lower():
continue
for exercise in cast(list[Tag], individual_exercises):
name = _sanitize_path_name(exercise.get_text().strip()) name = _sanitize_path_name(exercise.get_text().strip())
results.append(IliasPageElement.create_new( results.append(IliasPageElement.create_new(
IliasElementType.EXERCISE, IliasElementType.EXERCISE,