Refreshs
This commit is contained in:
@ -93,13 +93,13 @@ def getRaplas():
|
|||||||
return sorted(kursl), sorted(filel), sorted(urll)
|
return sorted(kursl), sorted(filel), sorted(urll)
|
||||||
|
|
||||||
|
|
||||||
@scheduler.task("interval", id="refreshRapla", minutes=30)
|
@scheduler.task("interval", id="refreshRapla", minutes=5)
|
||||||
def refreshRapla():
|
def refreshRapla():
|
||||||
"""
|
"""
|
||||||
Aktualisiert alle 30 Minuten alle gespeicherten Raplas.
|
Aktualisiert alle 5 Minuten alle gespeicherten Raplas.
|
||||||
"""
|
"""
|
||||||
filel = getRaplas()[1]
|
filel = getRaplas()[1]
|
||||||
urll = getRaplas()[2]
|
urll = getRaplas()[2]
|
||||||
for i in range(len(filel)):
|
for i in range(len(filel)):
|
||||||
urlretrieve(urll[i], "calendars/"+filel[i])
|
print("Update Rapla: " + filel[i][:-5])
|
||||||
print("Update die Kalender...")
|
urlretrieve(urll[i], "calendars/" + filel[i])
|
||||||
6
init.py
6
init.py
@ -1,7 +1,7 @@
|
|||||||
from flask import Flask
|
from flask import Flask
|
||||||
from flask_login import LoginManager, UserMixin
|
from flask_login import LoginManager, UserMixin
|
||||||
from flask_sqlalchemy import SQLAlchemy
|
from flask_sqlalchemy import SQLAlchemy
|
||||||
from talisman import Talisman
|
from flask_talisman import Talisman
|
||||||
from get_mysql import get_mysql
|
from get_mysql import get_mysql
|
||||||
import atexit
|
import atexit
|
||||||
from flask_apscheduler import APScheduler
|
from flask_apscheduler import APScheduler
|
||||||
@ -71,7 +71,9 @@ class Meals(db.Model):
|
|||||||
|
|
||||||
scheduler = APScheduler()
|
scheduler = APScheduler()
|
||||||
app = create()
|
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.init_app(app)
|
||||||
scheduler.start()
|
scheduler.start()
|
||||||
scheduler.api_enabled = True
|
scheduler.api_enabled = True
|
||||||
|
|||||||
@ -7,6 +7,7 @@ from werkzeug.security import generate_password_hash, check_password_hash
|
|||||||
import hashlib
|
import hashlib
|
||||||
import datetime
|
import datetime
|
||||||
import time
|
import time
|
||||||
|
import random
|
||||||
|
|
||||||
import fetchDUALIS
|
import fetchDUALIS
|
||||||
import fetchRAPLA
|
import fetchRAPLA
|
||||||
@ -36,7 +37,7 @@ def welcome():
|
|||||||
return redirect(url_for("getKurs", next=url_for(request.endpoint)))
|
return redirect(url_for("getKurs", next=url_for(request.endpoint)))
|
||||||
sel = request.args.get("sel")
|
sel = request.args.get("sel")
|
||||||
if not sel:
|
if not sel:
|
||||||
sel="theorie"
|
sel = "theorie"
|
||||||
kurs = current_user.kurs
|
kurs = current_user.kurs
|
||||||
name = current_user.name
|
name = current_user.name
|
||||||
if sel == "theorie":
|
if sel == "theorie":
|
||||||
@ -151,7 +152,8 @@ def getKurs():
|
|||||||
kurs = fetchDUALIS.getKurs(d.token, cookie)
|
kurs = fetchDUALIS.getKurs(d.token, cookie)
|
||||||
if kurs != 0:
|
if kurs != 0:
|
||||||
if not fetchRAPLA.getIcal(kurs):
|
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
|
current_user.kurs = kurs
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
else:
|
else:
|
||||||
|
|||||||
7
static/dropdown.js
Normal file
7
static/dropdown.js
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
document.addEventListener("DOMContentLoaded", function(event) {
|
||||||
|
const dropdown = document.getElementById("dropdown");
|
||||||
|
dropdown.addEventListener("change", function() {
|
||||||
|
dropdown.submit();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
@ -3,7 +3,10 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>DualHub</title>
|
<title>DualHub</title>
|
||||||
<link rel="stylesheet" type="text/css" href={{ url_for("static", filename="style.css") }}>
|
<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>
|
<script async src="https://analytics.paulmartin.cloud/script.js" data-website-id="459fa66e-e255-4393-8e89-ead8b1572d0d"></script>
|
||||||
|
{% block head %}
|
||||||
|
{% endblock %}
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<nav>
|
<nav>
|
||||||
|
|||||||
@ -1,4 +1,8 @@
|
|||||||
{% extends "index.html" %}
|
{% 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 %}
|
{% block content %}
|
||||||
{% for i in range (semester|length) %}
|
{% for i in range (semester|length) %}
|
||||||
{% if semester[i][1]==sel %}
|
{% if semester[i][1]==sel %}
|
||||||
@ -23,13 +27,12 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
<br>
|
<br>
|
||||||
<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>
|
<label for="sem">Semester wählen! </label>
|
||||||
<select name="sem" id="sem">
|
<select name="sem" id="sem">
|
||||||
{% for i in range (semester|length) %}
|
{% for i in range (semester|length) %}
|
||||||
<option value= {{ semester [i] [1] }} {% if semester[i][1]==sel %} selected {% endif %}>{{ semester [i] [0] }} </option>
|
<option value= {{ semester [i] [1] }} {% if semester[i][1]==sel %} selected {% endif %}>{{ semester [i] [0] }} </option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<input type="submit" value="Semester setzen!">
|
|
||||||
</form>
|
</form>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@ -1,7 +1,10 @@
|
|||||||
{% extends "index.html" %}
|
{% extends "index.html" %}
|
||||||
|
{% block head %}
|
||||||
|
<script type="text/javascript" src="{{ url_for("static", filename="dropdown.js") }}"></script>
|
||||||
|
{% endblock %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>Bitte wähle aus der unten stehenden Liste das Semester, dessen Noten du sehen möchtest.</h1>
|
<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>
|
<label for="sem">Semester wählen! </label>
|
||||||
<select name="sem" id="sem">
|
<select name="sem" id="sem">
|
||||||
<option value = "none" selected disabled hidden></option>
|
<option value = "none" selected disabled hidden></option>
|
||||||
@ -9,6 +12,5 @@
|
|||||||
<option value= {{ semester [i] [1] }}>{{ semester [i] [0] }} </option>
|
<option value= {{ semester [i] [1] }}>{{ semester [i] [0] }} </option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<input type="submit" value="Semester setzen!">
|
|
||||||
</form>
|
</form>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
Reference in New Issue
Block a user