summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xmain.py38
1 files changed, 33 insertions, 5 deletions
diff --git a/main.py b/main.py
index f6072ee..39c9618 100755
--- a/main.py
+++ b/main.py
@@ -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)