diff options
| -rw-r--r-- | infos2.yaml | 28 | ||||
| -rwxr-xr-x | main2.py | 45 |
2 files changed, 73 insertions, 0 deletions
diff --git a/infos2.yaml b/infos2.yaml new file mode 100644 index 0000000..be2e9df --- /dev/null +++ b/infos2.yaml @@ -0,0 +1,28 @@ +course: "Parallel Programming" + +semester: + start: "11/08/2025" + end: "15/12/2025" + +slots: + lectures: + slots: + friday: + start: "12:15" + end: "14:00" +# room: "A20" + wednesday: + start: "09:15" + end: "10:00" + + +events: + test: + type: "lecture" + name: "My event name" + date: "19/11/2025" + hidden: no + who: "loic" + start: "10:00" + end: "11:00" + room: "A232" diff --git a/main2.py b/main2.py new file mode 100755 index 0000000..05387db --- /dev/null +++ b/main2.py @@ -0,0 +1,45 @@ +#!./env/bin/python + +import yaml, textwrap +from prettytable import PrettyTable +from datetime import datetime, timedelta + +with open("infos2.yaml", "r") as f: + _i=yaml.safe_load(f) + +#### Parsing +def parse_date(s): + return datetime.strptime(s, "%d/%m/%Y") +def parse_time(s): + return datetime.strptime(s, "%H:%M") +#### Dates +def getmonday(d): + return d - timedelta(days=d.weekday()) +def getnextmonday(d): + return getmonday(d)+timedelta(days=7) +def getnextdayn(d,n): + return (d+timedelta(days=n)) +def getweek(d): + return d.isocalendar().week + +#### Load events +events={} +for e in _i["events"]: + _e=_i["events"][e] + events[e]={ + "type": _e["type"], + "name": _e["name"], + "date": parse_date(_e["date"]), + } + events[e]["hidden"]=_e["hidden"] if "hidden" in _e.keys() else False + events[e]["who"]=_e["who"] if "who" in _e.keys() else None + events[e]["start"]=parse_time(_e["start"]) if "start" in _e.keys() else None + events[e]["end"]=parse_time(_e["end"]) if "end" in _e.keys() else None + events[e]["room"]=_e["room"] if "room" in _e.keys() else None + print(events[e]) + +#### Load semester + +#### Load slots + +#### Gen semester calendar |
