This commit is contained in:
2024-04-02 17:58:30 +02:00
parent 4260ca0e92
commit 56ec2cfb15
7 changed files with 34 additions and 15 deletions

View File

@ -93,13 +93,13 @@ def getRaplas():
return sorted(kursl), sorted(filel), sorted(urll)
@scheduler.task("interval", id="refreshRapla", minutes=30)
@scheduler.task("interval", id="refreshRapla", minutes=5)
def refreshRapla():
"""
Aktualisiert alle 30 Minuten alle gespeicherten Raplas.
Aktualisiert alle 5 Minuten alle gespeicherten Raplas.
"""
filel = getRaplas()[1]
urll = getRaplas()[2]
for i in range(len(filel)):
urlretrieve(urll[i], "calendars/"+filel[i])
print("Update die Kalender...")
print("Update Rapla: " + filel[i][:-5])
urlretrieve(urll[i], "calendars/" + filel[i])

View File

@ -1,7 +1,7 @@
from flask import Flask
from flask_login import LoginManager, UserMixin
from flask_sqlalchemy import SQLAlchemy
from talisman import Talisman
from flask_talisman import Talisman
from get_mysql import get_mysql
import atexit
from flask_apscheduler import APScheduler
@ -71,7 +71,9 @@ class Meals(db.Model):
scheduler = APScheduler()
app = create()
Talisman(app, content_security_policy={"default-src": ["*.paulmartin.cloud", '\'self\'']})
def_src = ["*.paulmartin.cloud", '\'self\'']
Talisman(app, content_security_policy={"default-src": def_src, "script-src": def_src # + ["'unsafe-inline'"]
})
scheduler.init_app(app)
scheduler.start()
scheduler.api_enabled = True

View File

@ -7,6 +7,7 @@ from werkzeug.security import generate_password_hash, check_password_hash
import hashlib
import datetime
import time
import random
import fetchDUALIS
import fetchRAPLA
@ -36,7 +37,7 @@ def welcome():
return redirect(url_for("getKurs", next=url_for(request.endpoint)))
sel = request.args.get("sel")
if not sel:
sel="theorie"
sel = "theorie"
kurs = current_user.kurs
name = current_user.name
if sel == "theorie":
@ -151,7 +152,8 @@ def getKurs():
kurs = fetchDUALIS.getKurs(d.token, cookie)
if kurs != 0:
if not fetchRAPLA.getIcal(kurs):
return render_template('kurs.html', detected=(kurs, e), s="s", theorie="hidden", praxis="hidden", file=False)
return render_template('kurs.html', detected=(kurs, e), s="s", theorie="hidden", praxis="hidden",
file=False)
current_user.kurs = kurs
db.session.commit()
else:
@ -163,7 +165,7 @@ def getKurs():
else:
e = True
kurs = ""
return render_template('kurs.html', detected=(kurs, e), s="s", theorie="hidden", praxis="hidden", file=True)
return render_template('kurs.html', detected=(kurs, e), s="s", theorie="hidden", praxis="hidden", file=True)
@app.route("/set-up/semester")
@ -176,7 +178,7 @@ def getSemester():
t = Dualis.query.filter_by(uid=current_user.id).first().token
c = request.cookies.get("cnsc")
return render_template("semester.html", semester=fetchDUALIS.getSem(t, c), s="s", theorie="hidden", praxis="hidden")
return render_template("semester.html", semester=fetchDUALIS.getSem(t, c), s="s", theorie="hidden", praxis="hidden")
@app.route("/set-up/semester", methods=["POST"])
@ -203,7 +205,7 @@ def chooseRaplas():
:return HTML:
"""
r = getRaplas()
return render_template("rapla.html", raplas=r, s="s", theorie="hidden", praxis="hidden")
return render_template("rapla.html", raplas=r, s="s", theorie="hidden", praxis="hidden")
@app.route("/set-up/rapla", methods=["POST"])

7
static/dropdown.js Normal file
View File

@ -0,0 +1,7 @@
document.addEventListener("DOMContentLoaded", function(event) {
const dropdown = document.getElementById("dropdown");
dropdown.addEventListener("change", function() {
dropdown.submit();
});
});

View File

@ -3,7 +3,10 @@
<head>
<title>DualHub</title>
<link rel="stylesheet" type="text/css" href={{ url_for("static", filename="style.css") }}>
<meta http-equiv="refresh" content="510">
<script async src="https://analytics.paulmartin.cloud/script.js" data-website-id="459fa66e-e255-4393-8e89-ead8b1572d0d"></script>
{% block head %}
{% endblock %}
</head>
<body>
<nav>

View File

@ -1,4 +1,8 @@
{% extends "index.html" %}
{% block head %}
<script type="text/javascript" src="{{ url_for("static", filename="dropdown.js") }}"></script>
<meta http-equiv="Refresh" content="600">
{% endblock %}
{% block content %}
{% for i in range (semester|length) %}
{% if semester[i][1]==sel %}
@ -23,13 +27,12 @@
{% endfor %}
<br>
<br>
<form method="post" action={{ url_for ("setSemester", next=url_for("displayNoten")) }}>
<form id= "dropdown" method="post" action={{ url_for ("setSemester", next=url_for("displayNoten")) }}>
<label for="sem">Semester wählen! </label>
<select name="sem" id="sem">
{% for i in range (semester|length) %}
<option value= {{ semester [i] [1] }} {% if semester[i][1]==sel %} selected {% endif %}>{{ semester [i] [0] }} </option>
{% endfor %}
</select>
<input type="submit" value="Semester setzen!">
</form>
{% endblock %}

View File

@ -1,7 +1,10 @@
{% extends "index.html" %}
{% block head %}
<script type="text/javascript" src="{{ url_for("static", filename="dropdown.js") }}"></script>
{% endblock %}
{% block content %}
<h1>Bitte wähle aus der unten stehenden Liste das Semester, dessen Noten du sehen möchtest.</h1>
<form method="post" action={{ url_for ("setSemester", next=request.args.get("next")) }}>
<form id="dropdown" method="post" action={{ url_for ("setSemester", next=request.args.get("next")) }}>
<label for="sem">Semester wählen! </label>
<select name="sem" id="sem">
<option value = "none" selected disabled hidden></option>
@ -9,6 +12,5 @@
<option value= {{ semester [i] [1] }}>{{ semester [i] [0] }} </option>
{% endfor %}
</select>
<input type="submit" value="Semester setzen!">
</form>
{% endblock %}