1
0
Fork 0
forked from Fuji/Fuji

Refactor Lesson model to replace LessonDate with date type and update data parsing logic

This commit is contained in:
Maarceeli 2025-04-16 10:45:09 +02:00
parent e9feae41ca
commit 768d9ff723

View file

@ -13,6 +13,7 @@ class Change(BaseModel):
IsMerge: bool IsMerge: bool
Separation: bool Separation: bool
class Substitution(BaseModel): class Substitution(BaseModel):
Id: int Id: int
UnitId: int UnitId: int
@ -26,12 +27,6 @@ class Distribution(BaseModel):
Name: str Name: str
PartType: str PartType: str
class LessonDate(BaseModel):
Timestamp: int
Date: str
DateDisplay: str
Time: str
class Room(BaseModel): class Room(BaseModel):
Id: int Id: int
@ -67,11 +62,12 @@ class Clazz(BaseModel):
DisplayName: str DisplayName: str
Symbol: str Symbol: str
class Lesson(BaseModel): class Lesson(BaseModel):
Id: int Id: int
MergeChangeId: int | None MergeChangeId: int | None
Event: str | None Event: str | None
Date: LessonDate Date: date
Room: Room Room: Room
TimeSlot: TimeSlot TimeSlot: TimeSlot
Subject: Subject Subject: Subject
@ -91,17 +87,17 @@ class Lesson(BaseModel):
Id=data["Id"], Id=data["Id"],
MergeChangeId=data["MergeChangeId"], MergeChangeId=data["MergeChangeId"],
Event=data["Event"], Event=data["Event"],
Date=LessonDate(**data["Date"]), Date=date.fromtimestamp(data["Date"]["Timestamp"] / 1000),
Room=Room(**data["Room"]), Room=Room(**data["Room"]),
TimeSlot=TimeSlot(**data["TimeSlot"]), TimeSlot=TimeSlot(**data["TimeSlot"]),
Subject=Subject(**data["Subject"]), Subject=Subject(**data["Subject"]),
TeacherPrimary=Teacher(**data["TeacherPrimary"]), TeacherPrimary=Teacher(**data["TeacherPrimary"]),
TeacherSecondary=Teacher(**data["TeacherSecondary"]) if data["TeacherSecondary"] else None, TeacherSecondary=Teacher(**data["TeacherSecondary"]) if data["TeacherSecondary"] else None,
TeacherSecondary2=Teacher(**data["TeacherSecondary2"]) if data["TeacherSecondary2"] else None, TeacherSecondary2=Teacher(**data["TeacherSecondary2"]) if data["TeacherSecondary2"] else None,
Change=data["Change"], Change=Change(**data["Change"]) if data["Change"] else None,
Clazz=Clazz(**data["Clazz"]), Clazz=Clazz(**data["Clazz"]),
Distribution=data["Distribution"], Distribution=Distribution(**data["Distribution"]) if data["Distribution"] else None,
PupilAlias=data["PupilAlias"], PupilAlias=data["PupilAlias"],
Visible=data["Visible"], Visible=data["Visible"],
Substitution=data["Substitution"], Substitution=Substitution(**data["Substitution"]) if data["Substitution"] else None,
) )