Mensa Integration
This commit is contained in:
@ -55,7 +55,6 @@ def logOut(token: int, cookie: str):
|
|||||||
headers=headers, data={})
|
headers=headers, data={})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def checkLifetime(timecode: float):
|
def checkLifetime(timecode: float):
|
||||||
if time.time() - timecode > 1800:
|
if time.time() - timecode > 1800:
|
||||||
return False
|
return False
|
||||||
|
|||||||
24
parseICAL.py
24
parseICAL.py
@ -1,6 +1,8 @@
|
|||||||
import icalendar
|
import icalendar
|
||||||
import datetime
|
import datetime
|
||||||
|
import requests
|
||||||
import recurring_ical_events
|
import recurring_ical_events
|
||||||
|
import json
|
||||||
|
|
||||||
|
|
||||||
def getWeek(weekstart: datetime, file: str, showsat: bool):
|
def getWeek(weekstart: datetime, file: str, showsat: bool):
|
||||||
@ -53,10 +55,32 @@ def daylist(weekstart: datetime, showsat: bool):
|
|||||||
else:
|
else:
|
||||||
r = 5
|
r = 5
|
||||||
for i in range(r):
|
for i in range(r):
|
||||||
|
essen = getMeals(weekday)
|
||||||
dayl += [{
|
dayl += [{
|
||||||
"day": weekday.day,
|
"day": weekday.day,
|
||||||
"short": shortnames[i],
|
"short": shortnames[i],
|
||||||
"long": longnames[i],
|
"long": longnames[i],
|
||||||
|
"mensa": essen
|
||||||
}]
|
}]
|
||||||
weekday += datetime.timedelta(days=1)
|
weekday += datetime.timedelta(days=1)
|
||||||
return dayl
|
return dayl
|
||||||
|
|
||||||
|
|
||||||
|
def getMeals(day: datetime):
|
||||||
|
if day.day < 10:
|
||||||
|
tag = "0" + str(day.day)
|
||||||
|
else:
|
||||||
|
tag = str(day.day)
|
||||||
|
day = str(day.year) + "-" + str(day.month) + "-" + tag
|
||||||
|
url = "https://dh-api.paulmartin.cloud/plans/" + day + "?canteens=erzberger"
|
||||||
|
response = requests.request("GET", url)
|
||||||
|
response = response.content
|
||||||
|
jres = json.loads(response.decode("utf-8"))
|
||||||
|
essen = []
|
||||||
|
try:
|
||||||
|
num = len(jres["data"][0]["lines"])
|
||||||
|
for i in range(num):
|
||||||
|
essen += [jres["data"][0]["lines"][i]["meals"][0]["name"]]
|
||||||
|
except KeyError:
|
||||||
|
essen = ["Tag nicht (mehr) verfügbar"]
|
||||||
|
return essen
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
beautifulsoup4==4.10.0
|
beautifulsoup4
|
||||||
Flask==3.0.0
|
Flask
|
||||||
Flask_Login==0.6.3
|
Flask_Login
|
||||||
flask_sqlalchemy==3.1.1
|
flask_sqlalchemy
|
||||||
icalendar==5.0.11
|
icalendar
|
||||||
recurring_ical_events==2.1.1
|
recurring_ical_events
|
||||||
Requests==2.31.0
|
Requests
|
||||||
Werkzeug==3.0.1
|
talisman
|
||||||
|
Werkzeug
|
||||||
|
|||||||
@ -28,6 +28,11 @@
|
|||||||
<div class="date">
|
<div class="date">
|
||||||
<p class="date-num">{{ eventdays[e]["day"] }}</p>
|
<p class="date-num">{{ eventdays[e]["day"] }}</p>
|
||||||
<p class="date-day">{{ eventdays[e]["long"] }}</p>
|
<p class="date-day">{{ eventdays[e]["long"] }}</p>
|
||||||
|
<form>
|
||||||
|
{% for n in eventdays [e]["mensa"] %}
|
||||||
|
<p class="mensa"> {{ n }}</p>
|
||||||
|
{% endfor %}
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="events">
|
<div class="events">
|
||||||
{% for i in events %}
|
{% for i in events %}
|
||||||
|
|||||||
Reference in New Issue
Block a user