summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--infos.yaml14
-rwxr-xr-xmain.py27
2 files changed, 38 insertions, 3 deletions
diff --git a/infos.yaml b/infos.yaml
index d5d7f58..e4c2962 100644
--- a/infos.yaml
+++ b/infos.yaml
@@ -18,6 +18,20 @@ semester:
friday:
start: "14:15"
end: "16:00"
+ projects:
+ 1:
+ name: "p1"
+ start: "01/09/2025"
+ end: "17/09/2025"
+ 2:
+ name: "p2"
+ start: "15/09/2025"
+ end: "08/10/2025"
+ 3:
+ name: "p3"
+ start: "06/10/2025"
+ end: "29/10/2025"
+
events:
# test:
diff --git a/main.py b/main.py
index d42ebe0..f6072ee 100755
--- a/main.py
+++ b/main.py
@@ -57,12 +57,22 @@ def formatevents(d):
return output
def formatday(d):
return d.strftime("%b %d")
+def formatprojects(d):
+ output=""
+ for pkey in sem["projects"]:
+ p=sem["projects"][pkey]
+ if d.date() >= p["start"].date() and d.date() <= p["end"].date():
+ if len(output)>0:
+ output+="\n"
+ output+=p["name"]
+ return output
#### Load semester
sem={
"start": parse_date(_i["semester"]["start"]),
"end": parse_date(_i["semester"]["end"]),
- "slots": {}
+ "slots": {},
+ "projects": {}
}
for e in _i["semester"]["slots"]:
_e=_i["semester"]["slots"][e]
@@ -79,7 +89,12 @@ for e in _i["semester"]["slots"]:
sem["slots"][e][dayname]["end"]=parse_time(_e[dayname]["end"])
if "room" in _e[dayname].keys():
sem["slots"][e][dayname]["room"]=_e[dayname]["room"]
-
+for p in _i["semester"]["projects"]:
+ _p=_i["semester"]["projects"][p]
+ sem["projects"][p]={}
+ sem["projects"][p]["start"]=parse_date(_p["start"])
+ sem["projects"][p]["end"]=parse_date(_p["end"])
+ sem["projects"][p]["name"]=_p["name"]
#### Load events
events={}
for e in _i["events"]:
@@ -128,7 +143,13 @@ while d<=sem["end"]:
formatevents(getnextdayn(d, 1)),
formatevents(getnextdayn(d, 2)),
formatevents(getnextdayn(d, 3)),
- formatevents(getnextdayn(d, 4))])
+ formatevents(getnextdayn(d, 4))],divider=True)
+ t.add_row(["Projects",
+ formatprojects(getnextdayn(d, 0)),
+ formatprojects(getnextdayn(d, 1)),
+ formatprojects(getnextdayn(d, 2)),
+ formatprojects(getnextdayn(d, 3)),
+ formatprojects(getnextdayn(d, 4))])
print(t)
d=getnextmonday(d)
w+=1