Custom Calendar
This commit is contained in:
@ -11,8 +11,8 @@ from dateutil.relativedelta import relativedelta
|
||||
from icalendar import Calendar, Event
|
||||
import json
|
||||
|
||||
from init import scheduler, flaskApp, Rapla, db
|
||||
|
||||
from init import scheduler, flaskApp, Rapla, db, HiddenVL, User
|
||||
from calendar_generation import createCustomCalendar
|
||||
|
||||
async def fetchPlan(session, url):
|
||||
"""
|
||||
@ -121,12 +121,18 @@ async def getNewRapla(url: str, testing=False):
|
||||
return url
|
||||
|
||||
|
||||
def getIcal(kurs: str):
|
||||
def getIcal(uid: int | None = None, kurs: str | None = None):
|
||||
"""
|
||||
Liefert den Namen der Datei des mitgegebenen Kurses.
|
||||
Liefert den Namen der Datei des mitgegebenen Users.
|
||||
:param uid:
|
||||
:param kurs:
|
||||
:return str:
|
||||
"""
|
||||
if uid:
|
||||
if HiddenVL.query.filter_by(uid=uid).first():
|
||||
return f"{uid}.ical"
|
||||
else:
|
||||
kurs = User.query.filter_by(id=uid).first().kurs
|
||||
rapla = Rapla.query.filter(Rapla.name == kurs).first()
|
||||
try:
|
||||
return rapla.file
|
||||
@ -164,6 +170,11 @@ async def refreshRapla():
|
||||
for calendar in range(len(calendarList)):
|
||||
if calendarList[calendar] != 200:
|
||||
writeToFile(f"calendars/{fileList[calendar]}", calendarList[calendar])
|
||||
hiddenEvents = HiddenVL.query.all()
|
||||
hiddenUsers = {event.uid for event in hiddenEvents}
|
||||
for user in hiddenUsers:
|
||||
uid = await createCustomCalendar(user)
|
||||
print (f"Update custom calendar: {uid}")
|
||||
|
||||
|
||||
@scheduler.task('cron', id="raplaSchedule", hour='*', day_of_week='*', minute='*/3', week='*', second='40')
|
||||
|
||||
Reference in New Issue
Block a user