From be155f75126e3157e57073fecb966264f03dc235 Mon Sep 17 00:00:00 2001
From: Matthew Hague <Matthew.Hague@rhul.ac.uk>
Date: Thu, 6 Jun 2024 12:59:45 +0100
Subject: [PATCH] add(timetable): recognise more column names

Exit and warn if day/time cols not found.
---
 timetabling/timetable-ics.py | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/timetabling/timetable-ics.py b/timetabling/timetable-ics.py
index 9257bb7..de74268 100644
--- a/timetabling/timetable-ics.py
+++ b/timetabling/timetable-ics.py
@@ -63,18 +63,32 @@ def get_end_time(start : datetime, duration : str) -> datetime:
 
 with open(timetable_csv) as f:
     for row in csv.DictReader(f):
+        day = None
+        start = None
         name = row["Name"]
         if "Suggested Days" in row:
             day = row["Suggested Days"]
         elif "Scheduled Days" in row:
             day = row["Scheduled Days"]
+        elif "Day(s)" in row:
+            day = row["Day(s)"]
         if "Suggested Time" in row:
             start = row["Suggested Time"]
         elif "Scheduled Start Time" in row:
             start = row["Scheduled Start Time"]
+        elif "Start Time" in row:
+            start = row["Start Time"]
         duration_hours = row["Duration"]
         weeks = get_weeks(row["Teaching Week Pattern"])
 
+        if day is None:
+            print("Could not find timetabled day column, aborting")
+            exit()
+
+        if start is None:
+            print("Could not find timetabled start time column, aborting")
+            exit()
+
         if "TUT" in name:
             continue
 
-- 
GitLab