Update app.py
Browse files
app.py
CHANGED
|
@@ -373,6 +373,24 @@ def is_slot_allowed_for_year(year, day, slot):
|
|
| 373 |
return True
|
| 374 |
|
| 375 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 376 |
def generate_timetable(course_df, room_df, output_dir, room_slots, timetable):
|
| 377 |
from openpyxl import Workbook
|
| 378 |
from openpyxl.styles import PatternFill
|
|
|
|
| 373 |
return True
|
| 374 |
|
| 375 |
|
| 376 |
+
|
| 377 |
+
def generate_unused_halls_report(room_slots, output_path="Unused_Halls_Report.xlsx"):
|
| 378 |
+
from openpyxl import Workbook
|
| 379 |
+
wb = Workbook()
|
| 380 |
+
ws = wb.active
|
| 381 |
+
ws.title = "Unused Rooms"
|
| 382 |
+
|
| 383 |
+
ws.append(["Room", "Day", "Slot"])
|
| 384 |
+
|
| 385 |
+
for room in room_slots:
|
| 386 |
+
for key in room_slots[room]:
|
| 387 |
+
if room_slots[room][key]: # If the slot was never booked
|
| 388 |
+
day, slot = key.split("-")
|
| 389 |
+
ws.append([room, day, slot])
|
| 390 |
+
|
| 391 |
+
wb.save(output_path)
|
| 392 |
+
|
| 393 |
+
|
| 394 |
def generate_timetable(course_df, room_df, output_dir, room_slots, timetable):
|
| 395 |
from openpyxl import Workbook
|
| 396 |
from openpyxl.styles import PatternFill
|