Skip to content

Commit f15b95d

Browse files
authored
Merge pull request #78 from filips123/database-improvements
2 parents 3ab905d + d777fea commit f15b95d

File tree

4 files changed

+12
-8
lines changed

4 files changed

+12
-8
lines changed

API/gimvicurnik/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ def _sentry_profiler_sampler(context: dict[str, Any]) -> float | int | bool:
157157
def configure_database(self) -> None:
158158
"""Configure database session."""
159159

160-
self.engine = create_engine(self.config.database, pool_recycle=3600)
160+
self.engine = create_engine(self.config.database, pool_size=10, pool_recycle=14400)
161161
SessionFactory.configure(bind=self.engine)
162162

163163
def create_error_hooks(self) -> None:

API/gimvicurnik/blueprints/calendar.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ def create_school_calendar(
7575
# Create event and add internal properties
7676
event = Event()
7777
event.add("DTSTAMP", datetime.now())
78-
event.add("CATEGORIES", ["NORMAL"])
79-
event.add("COLOR", "green")
78+
event.add("CATEGORIES", ["Lesson", "Normal"])
79+
event.add("COLOR", "darkgreen")
8080
event.add(
8181
"UID",
8282
sha256(
@@ -93,6 +93,7 @@ def create_school_calendar(
9393

9494
# Add basic lesson properties
9595
event.add("SUMMARY", subject["subject"])
96+
event.add("ATTENDEE", subject["class"])
9697
event.add("ORGANIZER", subject["teacher"])
9798
event.add("LOCATION", subject["classroom"])
9899
event.add("DURATION", timedelta(minutes=45))
@@ -132,7 +133,7 @@ def create_school_calendar(
132133
# Create event and add internal properties
133134
event = Event()
134135
event.add("DTSTAMP", datetime.now())
135-
event.add("CATEGORIES", ["SUBSTITUTION"])
136+
event.add("CATEGORIES", ["Lesson", "Substitution"])
136137
event.add("COLOR", "darkred")
137138
event.add(
138139
"UID",
@@ -154,6 +155,7 @@ def create_school_calendar(
154155
# Add basic substitution properties
155156
event.add("SUMMARY", subject["subject"])
156157
event.add("DESCRIPTION", subject["notes"] or "")
158+
event.add("ATTENDEE", subject["class"])
157159
event.add("ORGANIZER", subject["teacher"])
158160
event.add("LOCATION", subject["classroom"])
159161

@@ -212,7 +214,7 @@ def create_schedule_calendar(
212214
# Create event and add internal properties
213215
event = Event()
214216
event.add("DTSTAMP", datetime.now())
215-
event.add("CATEGORIES", ["LUNCH"])
217+
event.add("CATEGORIES", ["Lunch"])
216218
event.add("COLOR", "darkblue")
217219
event.add(
218220
"UID",
@@ -233,6 +235,7 @@ def create_schedule_calendar(
233235
event.add("SUMMARY", "Kosilo")
234236
event.add("DESCRIPTION", model.notes or "")
235237
event.add("LOCATION", model.location or "")
238+
event.add("ATTENDEE", classname)
236239
event.add("DTSTART", start)
237240
event.add("DTEND", end)
238241

API/gimvicurnik/database/__init__.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ class Entity:
9191
__tablename__: str
9292

9393
id: Mapped[intpk]
94-
name: Mapped[text]
94+
name: Mapped[text] = mapped_column(unique=True, index=True)
9595

9696
@classmethod
9797
def get_lessons(
@@ -237,10 +237,10 @@ class Substitution(Base):
237237
subject: Mapped[text | None]
238238
notes: Mapped[text | None]
239239

240-
original_teacher_id: Mapped[teacher_fk | None] = mapped_column()
240+
original_teacher_id: Mapped[teacher_fk | None] = mapped_column(index=True)
241241
original_teacher: Mapped[Teacher | None] = relationship(foreign_keys=[original_teacher_id])
242242

243-
original_classroom_id: Mapped[classroom_fk | None] = mapped_column()
243+
original_classroom_id: Mapped[classroom_fk | None] = mapped_column(index=True)
244244
original_classroom: Mapped[Classroom | None] = relationship(foreign_keys=[original_classroom_id])
245245

246246
class_id: Mapped[class_fk] = mapped_column(index=True)

API/gimvicurnik/updaters/timetable.py

+1
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ def _parse(self, document: Document | None, raw_data: str, new_hash: str, span:
121121
"classroom_id": get_or_create(self.session, model=Classroom, name=lesson[4])[0].id if lesson[4] else None,
122122
}
123123
for _, lesson in lessons.items()
124+
if lesson[1]
124125
]
125126
# fmt: on
126127

0 commit comments

Comments
 (0)