1
0
Fork 0
forked from Fuji/Fuji

Refactor Lesson model to use time type for start and end fields and update from_hebe_dict method for date conversion

This commit is contained in:
Maarceeli 2025-04-18 09:41:15 +02:00
parent af0885b2d2
commit dc79405e42

View file

@ -1,4 +1,4 @@
from datetime import datetime, date from datetime import datetime, date, time
from pydantic import BaseModel from pydantic import BaseModel
#class Change(BaseModel): #class Change(BaseModel):
@ -20,8 +20,8 @@ class Lesson(BaseModel):
position: int position: int
date: date date: date
room: str | None room: str | None
start: str start: time
end: str end: time
subject: str | None subject: str | None
teacher: str | None teacher: str | None
group: str | None group: str | None
@ -31,10 +31,10 @@ class Lesson(BaseModel):
def from_hebe_dict(data: dict): def from_hebe_dict(data: dict):
return Lesson( return Lesson(
position = data["TimeSlot"]["Position"], position = data["TimeSlot"]["Position"],
date=datetime.fromtimestamp(data["Date"]["Timestamp"] / 1000), date = datetime.fromtimestamp(data["Date"]["Timestamp"] / 1000).date(),
room = data["Room"]["Code"], room = data["Room"]["Code"],
start=data["TimeSlot"]["Start"], start = datetime.strptime(data["TimeSlot"]["Start"], "%H:%M").time(),
end=data["TimeSlot"]["End"], end = datetime.strptime(data["TimeSlot"]["End"], "%H:%M").time(),
subject = data["Subject"]["Name"], subject = data["Subject"]["Name"],
teacher = data["TeacherPrimary"]["DisplayName"], teacher = data["TeacherPrimary"]["DisplayName"],
group = data["Distribution"]["Shortcut"] if data["Distribution"] else None, group = data["Distribution"]["Shortcut"] if data["Distribution"] else None,