summaryrefslogtreecommitdiff
path: root/main2.py
blob: 05387dba37cfedbaf6f16525a0144f5e3faaf8f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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