Add lesson model
This commit is contained in:
parent
6985ed6eb5
commit
a4ae87a538
1 changed files with 86 additions and 0 deletions
86
src/sdk/src/models/lesson.py
Normal file
86
src/sdk/src/models/lesson.py
Normal file
|
@ -0,0 +1,86 @@
|
|||
from datetime import datetime, date
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class LessonDate(BaseModel):
|
||||
Timestamp: int
|
||||
Date: str
|
||||
DateDisplay: str
|
||||
Time: str
|
||||
|
||||
|
||||
class Room(BaseModel):
|
||||
Id: int
|
||||
Code: str
|
||||
|
||||
|
||||
class TimeSlot(BaseModel):
|
||||
Id: int
|
||||
Start: str
|
||||
End: str
|
||||
Display: str
|
||||
Position: int
|
||||
|
||||
|
||||
class Subject(BaseModel):
|
||||
Id: int
|
||||
Key: str
|
||||
Name: str
|
||||
Kod: str
|
||||
Position: int
|
||||
|
||||
|
||||
class Teacher(BaseModel):
|
||||
Id: int
|
||||
Surname: str
|
||||
Name: str
|
||||
DisplayName: str
|
||||
|
||||
|
||||
class Clazz(BaseModel):
|
||||
Id: int
|
||||
Key: str
|
||||
DisplayName: str
|
||||
Symbol: str
|
||||
|
||||
|
||||
class Lesson(BaseModel):
|
||||
Id: int
|
||||
MergeChangeId: int | None
|
||||
Event: str | None
|
||||
Date: LessonDate
|
||||
Room: Room
|
||||
TimeSlot: TimeSlot
|
||||
Subject: Subject
|
||||
TeacherPrimary: Teacher
|
||||
TeacherSecondary: Teacher | None
|
||||
TeacherSecondary2: Teacher | None
|
||||
Change: str | None
|
||||
Clazz: Clazz
|
||||
Distribution: str | None
|
||||
PupilAlias: str | None
|
||||
Visible: bool
|
||||
Substitution: str | None
|
||||
Parent: str | None
|
||||
|
||||
@staticmethod
|
||||
def from_hebe_dict(data: dict):
|
||||
return Lesson(
|
||||
Id=data["Id"],
|
||||
MergeChangeId=data["MergeChangeId"],
|
||||
Event=data["Event"],
|
||||
Date=LessonDate(**data["Date"]),
|
||||
Room=Room(**data["Room"]),
|
||||
TimeSlot=TimeSlot(**data["TimeSlot"]),
|
||||
Subject=Subject(**data["Subject"]),
|
||||
TeacherPrimary=Teacher(**data["TeacherPrimary"]),
|
||||
TeacherSecondary=Teacher(**data["TeacherSecondary"]) if data["TeacherSecondary"] else None,
|
||||
TeacherSecondary2=Teacher(**data["TeacherSecondary2"]) if data["TeacherSecondary2"] else None,
|
||||
Change=data["Change"],
|
||||
Clazz=Clazz(**data["Clazz"]),
|
||||
Distribution=data["Distribution"],
|
||||
PupilAlias=data["PupilAlias"],
|
||||
Visible=data["Visible"],
|
||||
Substitution=data["Substitution"],
|
||||
Parent=data["Parent"]
|
||||
)
|
Loading…
Add table
Reference in a new issue