optimize mensa async
This commit is contained in:
@ -1,3 +1,6 @@
|
||||
import time
|
||||
|
||||
import asyncio
|
||||
import icalendar
|
||||
import datetime
|
||||
import recurring_ical_events
|
||||
@ -10,7 +13,7 @@ months = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August"
|
||||
"November", "Dezember"]
|
||||
|
||||
|
||||
def getWeek(weekstart: datetime, file: str, showsat: bool):
|
||||
async def getWeek(weekstart: datetime, file: str, showsat: bool):
|
||||
"""
|
||||
Liefert alle Events einer Woche zurück. \n
|
||||
Wochenstart wird automatisch auf den Montag der Woche gelegt. \n
|
||||
@ -67,10 +70,10 @@ def getWeek(weekstart: datetime, file: str, showsat: bool):
|
||||
"day": estart.day
|
||||
}
|
||||
eventl += [eventdict]
|
||||
return eventl, daylist(start_date, showsat), prevw, nextw, mon
|
||||
return eventl, await daylist(start_date, showsat), prevw, nextw, mon
|
||||
|
||||
|
||||
def daylist(weekstart: datetime, showsat: bool):
|
||||
async def daylist(weekstart: datetime, showsat: bool):
|
||||
"""
|
||||
Gibt die Essen einer Woche zurück.
|
||||
:param weekstart:
|
||||
@ -83,15 +86,19 @@ def daylist(weekstart: datetime, showsat: bool):
|
||||
r = 6
|
||||
else:
|
||||
r = 5
|
||||
essen = []
|
||||
for i in range(r):
|
||||
essen = getMeals(weekday)
|
||||
essen += [getMeals(weekday)]
|
||||
dayl += [{
|
||||
"day": weekday.day,
|
||||
"short": shortnames[i],
|
||||
"long": longnames[i],
|
||||
"mensa": essen
|
||||
"mensa": i
|
||||
}]
|
||||
weekday += datetime.timedelta(days=1)
|
||||
essenl = await asyncio.gather(*essen, return_exceptions=True)
|
||||
for day in range(r):
|
||||
dayl[day]["mensa"] = essenl[day]
|
||||
return dayl
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user