From 372e663e846c6e34e5f1ca77ae36fbfb2f663a75 Mon Sep 17 00:00:00 2001 From: Konrad Mohrfeldt <konrad.mohrfeldt@farbdev.org> Date: Wed, 31 Jul 2024 12:19:05 +0200 Subject: [PATCH] =?UTF-8?q?refactor:=20don=E2=80=99t=20overwrite=20queryse?= =?UTF-8?q?t=20with=20filter=20options?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We might need that queryset unbothered by already set filters later on ;) --- program/services.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/program/services.py b/program/services.py index 255d1b45..baba59fa 100644 --- a/program/services.py +++ b/program/services.py @@ -745,13 +745,15 @@ def generate_program_entries( start = timezone.now() if end is None: end = start + timedelta(days=1) + + queryset = queryset.order_by("start") # Find all timeslots that # * have started before the specified start value but end after it # * or end after the specified end value but start before it - queryset = queryset.filter(end__gt=start, start__lt=end).order_by("start") + timeslots = queryset.filter(end__gt=start, start__lt=end) if not include_virtual: - yield from (create_timeslot_entry(timeslot) for timeslot in queryset) + yield from (create_timeslot_entry(timeslot) for timeslot in timeslots) return # Program entries that are not based on scheduled timeslots are generated using the fallback @@ -760,7 +762,7 @@ def generate_program_entries( entry_start = start timeslot: TimeSlot - for timeslot in queryset: + for timeslot in timeslots: if timeslot.start > entry_start: yield create_entry(entry_start, timeslot.start, fallback_show) yield create_timeslot_entry(timeslot) -- GitLab