refresh Mensa

This commit is contained in:
2023-12-04 21:42:58 +01:00
parent 96a116e240
commit dbcf3cc0ce
4 changed files with 115 additions and 139 deletions

View File

@ -1,11 +1,7 @@
import time
import icalendar
import datetime
import requests
import recurring_ical_events
import json
from init import app, db, Meals
from fetchMENSA import getMeals
def getWeek(weekstart: datetime, file: str, showsat: bool):
@ -69,50 +65,3 @@ def daylist(weekstart: datetime, showsat: bool):
return dayl
def getMeals(day: datetime):
print (day)
if day.day < 10:
tag = "0" + str(day.day)
else:
tag = str(day.day)
day = str(day.year) + "-" + str(day.month) + "-" + tag
essen = []
query = Meals.query.filter_by(date=day).all()
if len(query) != 0:
for i in query:
essen += [i.name]
return essen
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"))
try:
num = len(jres["data"][0]["lines"])
for i in range(num):
try:
jsmeal = jres["data"][0]["lines"][i]["meals"][0]
except IndexError:
return ["Essen nicht (mehr) verfügbar"]
name = jsmeal["name"]
vegan = jsmeal["classifiers"].count("VG") == 1
schwein = jsmeal["classifiers"].count("S") == 1
if vegan:
veget = True
else:
veget = jsmeal["classifiers"].count("VEG") == 1
if veget:
if name.count("Reibekäse") > 0:
vegan = True
if name != "Tagesdessert":
essen += [name]
mid = int(time.time()*1000) % 100000
neu = Meals(date=day, name=name, id=mid, vegan=vegan, vegetarian=veget, schwein=schwein)
db.session.add(neu)
db.session.commit()
except KeyError:
essen = ["Essen nicht (mehr) verfügbar"]
return essen