Skip to content
Snippets Groups Projects

Resolve "Check generation of regular timetable"

Merged Jonathan Weth requested to merge 124-check-generation-of-regular-timetable into master
Files
2
@@ -25,6 +25,7 @@ def build_timetable(
type_: Union[TimetableType, str],
obj: Union[Group, Room, Person],
date_ref: Union[CalendarWeek, date],
with_holidays: bool = True,
):
needed_breaks = []
@@ -42,9 +43,9 @@ def build_timetable(
# Get matching holidays
if is_week:
holidays_per_weekday = Holiday.in_week(date_ref)
holidays_per_weekday = Holiday.in_week(date_ref) if with_holidays else {}
else:
holiday = Holiday.on_day(date_ref)
holiday = Holiday.on_day(date_ref) if with_holidays else None
# Get matching lesson periods
lesson_periods = LessonPeriod.objects
@@ -351,8 +352,11 @@ def build_substitutions_list(wanted_day: date) -> List[dict]:
return rows
def build_weekdays(base: List[Tuple[int, str]], wanted_week: CalendarWeek) -> List[dict]:
holidays_per_weekday = Holiday.in_week(wanted_week)
def build_weekdays(
base: List[Tuple[int, str]], wanted_week: CalendarWeek, with_holidays: bool = True
) -> List[dict]:
if with_holidays:
holidays_per_weekday = Holiday.in_week(wanted_week)
weekdays = []
for key, name in base[TimePeriod.weekday_min : TimePeriod.weekday_max + 1]:
@@ -361,8 +365,9 @@ def build_weekdays(base: List[Tuple[int, str]], wanted_week: CalendarWeek) -> Li
"key": key,
"name": name,
"date": wanted_week[key],
"holiday": holidays_per_weekday[key] if key in holidays_per_weekday else None,
}
if with_holidays:
weekday["holiday"] = holidays_per_weekday[key] if key in holidays_per_weekday else None
weekdays.append(weekday)
return weekdays
Loading