Partly fixing timetable
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user