From 171314fa265274f94cd3a7600ac931ed8e94b45b Mon Sep 17 00:00:00 2001 From: Loïc Guégan Date: Sat, 26 Jul 2025 13:20:04 +0200 Subject: Minor changes --- infos.yaml | 14 ++++++++++++++ main.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/infos.yaml b/infos.yaml index 7aa0f23..678e543 100644 --- a/infos.yaml +++ b/infos.yaml @@ -12,6 +12,14 @@ semester: wednesday: start: "09:15" end: "10:00" + colloquiums: + slots: + monday: + start: "09:10" + end: "10:08" + wednesday: + start: "09:15" + end: "10:00" output: date_format: "%b %d" @@ -44,6 +52,12 @@ output: hidden: no msg_handout: "Mandatory assignment {} handout" msg_deadline: "Mandatory assignment {} deadline" + lectures: + hidden: no + show_rooms: no + colloquiums: + hidden: no + show_rooms: yes events: 1: diff --git a/main.py b/main.py index 3b49d66..460b174 100755 --- a/main.py +++ b/main.py @@ -30,6 +30,17 @@ def getgloballectureslot(d): room=slots[dname]["room"] if "room" in slots[dname].keys() else None return (start,end, room) return None +def getglobalcolloquiumsslot(d): + dname=d.strftime("%A").lower() + slots=i["semester"]["colloquiums"]["slots"] + if dname in slots.keys(): + start,end, room=(None,None,None) + if "start" in slots[dname].keys(): + start=datetime.strptime(i["semester"]["colloquiums"]["slots"][dname]["start"], "%H:%M") + end=datetime.strptime(i["semester"]["colloquiums"]["slots"][dname]["end"], "%H:%M") + room=slots[dname]["room"] if "room" in slots[dname].keys() else None + return (start,end, room) + return None def getassign(d): val="" for a in i["assignments"]: @@ -158,3 +169,39 @@ if not i["output"]["tables"]["deadlines"]["hidden"]: t.add_row([getweek(d),formatday(d),msg]) t.align["Assignment"] = "l" print(t.get_formatted_string(i["output"]["format"])) + + +if not i["output"]["tables"]["lectures"]["hidden"]: + sstart=parse_date(i["semester"]["start"]) + monday=getmonday(sstart) + t = PrettyTable() + t.field_names = ["Day", "Time", "Room"] + t.align["Day"] = "l" + for offset in range(0,5): + d=getnextdayn(monday, offset) + s=getgloballectureslot(d) + if s is not None: + (startT,endT,room)=s + room=room if room is not None else "" + t.add_row([d.strftime("%A"),startT.strftime(i["output"]["time_format"])+"-"+endT.strftime(i["output"]["time_format"]),room]) + if not i["output"]["tables"]["lectures"]["show_rooms"]: + t.del_column("Room") + print(t) + + +if not i["output"]["tables"]["colloquiums"]["hidden"]: + sstart=parse_date(i["semester"]["start"]) + monday=getmonday(sstart) + t = PrettyTable() + t.field_names = ["Day", "Time", "Room"] + t.align["Day"] = "l" + for offset in range(0,5): + d=getnextdayn(monday, offset) + s=getglobalcolloquiumsslot(d) + if s is not None: + (startT,endT,room)=s + room=room if room is not None else "" + t.add_row([d.strftime("%A"),startT.strftime(i["output"]["time_format"])+"-"+endT.strftime(i["output"]["time_format"]),room]) + if not i["output"]["tables"]["colloquiums"]["show_rooms"]: + t.del_column("Room") + print(t) -- cgit v1.2.3