summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--infos.yaml14
-rwxr-xr-xmain.py47
2 files changed, 61 insertions, 0 deletions
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)