From 848a5acfb6ccf3ff110420cb6e736086fce49d77 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Tue, 7 Apr 2020 15:15:32 +0200 Subject: [PATCH] Fix import of time periods, a more reliable data source is used now --- .../untis/util/mysql/importers/common_data.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/aleksis/apps/untis/util/mysql/importers/common_data.py b/aleksis/apps/untis/util/mysql/importers/common_data.py index a69c3de..a708b56 100644 --- a/aleksis/apps/untis/util/mysql/importers/common_data.py +++ b/aleksis/apps/untis/util/mysql/importers/common_data.py @@ -400,18 +400,30 @@ def import_supervision_areas( def import_time_periods() -> Dict[int, Dict[int, chronos_models.TimePeriod]]: """ Import time periods an breaks """ - time_periods_ref = {} + times = run_default_filter(mysql_models.Commondata.objects, filter_term=False).filter(id=30).order_by("number") + + times_ref = {} + for time_ in times: + period = time_.number + + # Extract time + start_time = time(time_.fieldbyte1, time_.fieldbyte2) + end_time = time(time_.fieldbyte3, time_.fieldbyte4) + + times_ref[period] = (start_time, end_time) + periods = ( run_default_filter(mysql_models.Commondata.objects, filter_term=False) .filter(id=40) # Fixed UNTIS constant .order_by("number", "number1") ) + time_periods_ref = {} for time_period in periods: weekday = time_period.number - 1 period = time_period.number1 - start_time = time(time_period.fieldbyte1, time_period.fieldbyte2) - end_time = time(time_period.fieldbyte3, time_period.fieldbyte4) + start_time = times_ref[period][0] + end_time = times_ref[period][1] logger.info( "Import time period on weekday {} in the {}. period".format(weekday, period) -- GitLab