diff options
| author | Loïc Guégan <manzerbredes@mailbox.org> | 2025-07-27 10:21:51 +0200 |
|---|---|---|
| committer | Loïc Guégan <manzerbredes@mailbox.org> | 2025-07-27 10:21:51 +0200 |
| commit | 88e37722d6a43a19e89fcdd63bddc29215f6c1d1 (patch) | |
| tree | ad7610e2df20135acf440e0fb8b560441d4f3fe0 | |
| parent | 590dc0b3b69e69d3800866fd972dee22edb1ea9b (diff) | |
Minor changes
| -rwxr-xr-x | main.py | 38 |
1 files changed, 33 insertions, 5 deletions
@@ -63,9 +63,16 @@ def formatprojects(d): p=sem["projects"][pkey] if d.date() >= p["start"].date() and d.date() <= p["end"].date(): if len(output)>0: - output+="\n" + output+="," output+=p["name"] return output +#### Other help functions +def add_row(t,row,div): + total=0 + for e in row[1:]: + total+=len(e) + if total > 0: + t.add_row(row,divider=div) #### Load semester sem={ @@ -138,18 +145,18 @@ while d<=sem["end"]: formatday(getnextdayn(d, 2)), formatday(getnextdayn(d, 3)), formatday(getnextdayn(d, 4))],divider=True) - t.add_row(["", + add_row(t,["", formatevents(getnextdayn(d, 0)), formatevents(getnextdayn(d, 1)), formatevents(getnextdayn(d, 2)), formatevents(getnextdayn(d, 3)), - formatevents(getnextdayn(d, 4))],divider=True) - t.add_row(["Projects", + formatevents(getnextdayn(d, 4))],True) + add_row(t,["Projects", formatprojects(getnextdayn(d, 0)), formatprojects(getnextdayn(d, 1)), formatprojects(getnextdayn(d, 2)), formatprojects(getnextdayn(d, 3)), - formatprojects(getnextdayn(d, 4))]) + formatprojects(getnextdayn(d, 4))],False) print(t) d=getnextmonday(d) w+=1 @@ -169,3 +176,24 @@ for s in sem["slots"]: t.add_row([dayname.capitalize(),timeStr,room]) print(s+":") print(t) + +#### Gen projects deadline tables +if len(sem["projects"].keys()) > 0: + t = PrettyTable() + t.field_names = ["Week", "Day", "Project"] + t.align["Project"]="l" + d=getmonday(sem["start"]) + w=getweek(d) + while d<=sem["end"]: # This is not optimal but works fine + for p in sem["projects"].keys(): + start=sem["projects"][p]["start"] + end=sem["projects"][p]["end"] + name=sem["projects"][p]["name"] + if d.date() == start.date(): + t.add_row([w,formatday(start),"Project "+name+" handout"]) + if d.date() == end.date(): + t.add_row([w,formatday(end),"Project "+name+" deadline"]) + d=getnextdayn(d, 1) + w=getweek(d) + print("Projects deadlines:") + print(t) |
