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:
parent
af0885b2d2
commit
dc79405e42
1 changed files with 12 additions and 12 deletions
|
@ -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):
|
||||||
|
@ -17,11 +17,11 @@ from pydantic import BaseModel
|
||||||
# TODO: Add a model for the substitutions
|
# TODO: Add a model for the substitutions
|
||||||
|
|
||||||
class Lesson(BaseModel):
|
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,12 +31,12 @@ 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,
|
||||||
visible=data["Visible"],
|
visible = data["Visible"],
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Reference in a new issue