From 91184cfc967479829e81ce28bfb4e50180c505de Mon Sep 17 00:00:00 2001 From: Jacob Hagstedt Date: Sat, 30 May 2026 16:06:07 +0200 Subject: [PATCH] Partly fixing timetable --- backend/app/routers/stats.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/app/routers/stats.py b/backend/app/routers/stats.py index 5d4e0b4..3188a44 100644 --- a/backend/app/routers/stats.py +++ b/backend/app/routers/stats.py @@ -1,4 +1,4 @@ -from datetime import datetime, time, timedelta +from datetime import datetime, time, timedelta, timezone from typing import List, Optional from fastapi import APIRouter, Depends, Query from sqlmodel.ext.asyncio.session import AsyncSession @@ -71,6 +71,7 @@ async def get_timetable( adj_from_date = from_date - timedelta(days=1) sessions, _ = await get_sessions(session, from_date=adj_from_date, to_date=to_date) slots = [] + now = datetime.now(timezone.utc).replace(tzinfo=None) current_date = from_date.date() while current_date <= to_date.date(): date_str = current_date.strftime("%Y-%m-%d") @@ -83,9 +84,8 @@ async def get_timetable( slot_end_str = slot_end_time.strftime("%H:%M") is_sleeping = False for s in sessions: - if s.start_time <= slot_end_time and ( - s.end_time is None or s.end_time >= slot_start_time - ): + effective_end_time = s.end_time if s.end_time is not None else now + if s.start_time <= slot_end_time and effective_end_time >= slot_start_time: is_sleeping = True break slots.append(