saptak21 commited on
Commit
bef4c40
·
verified ·
1 Parent(s): cdd09b1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -7
app.py CHANGED
@@ -376,21 +376,39 @@ def is_slot_allowed_for_year(year, day, slot):
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
 
376
 
377
  def generate_unused_halls_report(room_slots, output_path="Unused_Halls_Report.xlsx"):
378
  from openpyxl import Workbook
379
+ from openpyxl.styles import Alignment
380
+
381
  wb = Workbook()
382
  ws = wb.active
383
+ ws.title = "Unused Halls (Matrix Format)"
384
 
385
+ # Header Row: ["Day", "8-9", "9-10", ..., "6-7"]
386
+ ws.append(["Day"] + time_slots)
387
 
388
+ for day in days:
389
+ row = [day]
390
+ for slot in time_slots:
391
+ free_rooms = []
392
+ for room in room_slots:
393
+ key = f"{day}-{slot}"
394
+ if room_slots[room][key]:
395
+ free_rooms.append(room)
396
+ row.append(", ".join(sorted(free_rooms)))
397
+ ws.append(row)
398
+
399
+ # Wrap text and set column width
400
+ for col in ws.columns:
401
+ for cell in col:
402
+ cell.alignment = Alignment(wrapText=True)
403
+
404
+ for i in range(2, len(time_slots) + 2):
405
+ ws.column_dimensions[chr(64 + i)].width = 25
406
 
407
  wb.save(output_path)
408
 
409
 
410
+
411
+
412
  def generate_timetable(course_df, room_df, output_dir, room_slots, timetable):
413
  from openpyxl import Workbook
414
  from openpyxl.styles import PatternFill