Add timetable database creation in sync function and define Timetable model
This commit is contained in:
parent
f0d9cfa7be
commit
b0f556cde4
2 changed files with 35 additions and 0 deletions
|
@ -65,6 +65,7 @@ def sync(page: ft.Page):
|
||||||
start, end = get_current_month_dates()
|
start, end = get_current_month_dates()
|
||||||
|
|
||||||
timetable = interface.get_timetable(from_=start, to=end)
|
timetable = interface.get_timetable(from_=start, to=end)
|
||||||
|
create_timetable_database(timetable_list=timetable)
|
||||||
|
|
||||||
def change_page(route):
|
def change_page(route):
|
||||||
routes = {
|
routes = {
|
||||||
|
|
|
@ -23,6 +23,19 @@ class Notes(SQLModel, table=True):
|
||||||
points: Optional[str] = Field(default=None, nullable=True)
|
points: Optional[str] = Field(default=None, nullable=True)
|
||||||
creator: str
|
creator: str
|
||||||
created_at: datetime
|
created_at: datetime
|
||||||
|
|
||||||
|
class Timetable(SQLModel, table=True):
|
||||||
|
id: int = Field(default=None, primary_key=True) # Add an auto-incrementing id
|
||||||
|
lid: int
|
||||||
|
position : int
|
||||||
|
date: date
|
||||||
|
room: str | None
|
||||||
|
start: str
|
||||||
|
end: str
|
||||||
|
subject: str | None
|
||||||
|
teacher: str | None
|
||||||
|
group: str | None
|
||||||
|
visible: bool
|
||||||
|
|
||||||
engine = create_engine("sqlite:///database.db")
|
engine = create_engine("sqlite:///database.db")
|
||||||
SQLModel.metadata.create_all(engine)
|
SQLModel.metadata.create_all(engine)
|
||||||
|
@ -46,6 +59,27 @@ def create_grades_database(grades_list, smstr):
|
||||||
|
|
||||||
session.add(grade_obj)
|
session.add(grade_obj)
|
||||||
session.commit()
|
session.commit()
|
||||||
|
|
||||||
|
def create_timetable_database(timetable_list):
|
||||||
|
with Session(engine) as session:
|
||||||
|
session.execute(delete(Timetable))
|
||||||
|
for lesson in timetable_list:
|
||||||
|
lesson_obj = Timetable(
|
||||||
|
lid=lesson.id,
|
||||||
|
position = lesson.position,
|
||||||
|
date=lesson.date,
|
||||||
|
room=lesson.room,
|
||||||
|
start=lesson.start,
|
||||||
|
end=lesson.end,
|
||||||
|
subject=lesson.subject,
|
||||||
|
teacher=lesson.teacher,
|
||||||
|
group=lesson.group,
|
||||||
|
visible=lesson.visible
|
||||||
|
)
|
||||||
|
|
||||||
|
session.add(lesson_obj)
|
||||||
|
session.commit()
|
||||||
|
|
||||||
|
|
||||||
def add_grades_to_database(grades_list, smstr):
|
def add_grades_to_database(grades_list, smstr):
|
||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
|
|
Loading…
Add table
Reference in a new issue