From dbf97a5abff19453af2e100897ede7680598cc55 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Sat, 11 Jan 2025 21:25:55 +0100 Subject: [PATCH] Fix import of supervisions for non-existing breaks --- aleksis/apps/untis/util/mysql/importers/common_data.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/aleksis/apps/untis/util/mysql/importers/common_data.py b/aleksis/apps/untis/util/mysql/importers/common_data.py index 23d7d27..1e04465 100644 --- a/aleksis/apps/untis/util/mysql/importers/common_data.py +++ b/aleksis/apps/untis/util/mysql/importers/common_data.py @@ -386,13 +386,18 @@ def import_supervision_areas( weekday = int(raw_supervision_2[2]) - 1 before_period_number = int(raw_supervision_2[3]) teacher = teachers_ref[teacher_id] - slot = breaks_ref[weekday][before_period_number] logger.info( f"Import supervision on weekday {weekday} before the " f"{before_period_number}. period (teacher {teacher})" ) + slot = breaks_ref.get(weekday, {}).get(before_period_number) + + if not slot: + logger.warning("Skip supervision as slot doesn't exist.") + continue + # Get or create possible_supervisions = lesrooster_models.Supervision.objects.filter( break_slot=slot, @@ -449,7 +454,7 @@ def import_supervision_areas( with create_revision(): set_comment(_("Deleted by Untis import")) supervision.delete() - logger.info(f" Supervision {supervision} deleted") + logger.info(f" Supervision {supervision.id} deleted") ref[import_ref] = {"area": new_area, "supervisions": supervisions_ref} -- GitLab