From dc79405e429760cde08ce61b9b6b4e92d6db6b88 Mon Sep 17 00:00:00 2001 From: Maarceeli Date: Fri, 18 Apr 2025 09:41:15 +0200 Subject: [PATCH] Refactor Lesson model to use time type for start and end fields and update from_hebe_dict method for date conversion --- src/sdk/src/models/lesson.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/sdk/src/models/lesson.py b/src/sdk/src/models/lesson.py index a66d5ea..a8751d4 100644 --- a/src/sdk/src/models/lesson.py +++ b/src/sdk/src/models/lesson.py @@ -1,4 +1,4 @@ -from datetime import datetime, date +from datetime import datetime, date, time from pydantic import BaseModel #class Change(BaseModel): @@ -17,11 +17,11 @@ from pydantic import BaseModel # TODO: Add a model for the substitutions class Lesson(BaseModel): - position : int + position: int date: date room: str | None - start: str - end: str + start: time + end: time subject: str | None teacher: str | None group: str | None @@ -31,12 +31,12 @@ class Lesson(BaseModel): def from_hebe_dict(data: dict): return Lesson( position = data["TimeSlot"]["Position"], - date=datetime.fromtimestamp(data["Date"]["Timestamp"] / 1000), - room=data["Room"]["Code"], - start=data["TimeSlot"]["Start"], - end=data["TimeSlot"]["End"], - subject=data["Subject"]["Name"], - teacher=data["TeacherPrimary"]["DisplayName"], - group=data["Distribution"]["Shortcut"] if data["Distribution"] else None, - visible=data["Visible"], + date = datetime.fromtimestamp(data["Date"]["Timestamp"] / 1000).date(), + room = data["Room"]["Code"], + start = datetime.strptime(data["TimeSlot"]["Start"], "%H:%M").time(), + end = datetime.strptime(data["TimeSlot"]["End"], "%H:%M").time(), + subject = data["Subject"]["Name"], + teacher = data["TeacherPrimary"]["DisplayName"], + group = data["Distribution"]["Shortcut"] if data["Distribution"] else None, + visible = data["Visible"], )