Compare commits
2 Commits
ed8fc409f8
...
e9f8d3ad28
Author | SHA1 | Date |
---|---|---|
Anika | e9f8d3ad28 | |
Anika | 43bce4789c |
Binary file not shown.
14
alarms.json
14
alarms.json
|
@ -1,14 +0,0 @@
|
||||||
[
|
|
||||||
{
|
|
||||||
"datetime": "05.04.2025 06:33",
|
|
||||||
"message": "Test"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"datetime": "05.04.2025 06:57",
|
|
||||||
"message": "EEh"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"datetime": "04.03.2024 18:40",
|
|
||||||
"message": "PREVIOUS"
|
|
||||||
}
|
|
||||||
]
|
|
22
logs.json
22
logs.json
|
@ -1,22 +0,0 @@
|
||||||
[
|
|
||||||
{
|
|
||||||
"datetime": "11.02.2024 22:58",
|
|
||||||
"message": "Nice"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"datetime": "12.02.2024 15:03",
|
|
||||||
"message": "Lololol"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"datetime": "22.02.2024 11:14",
|
|
||||||
"message": "Seitenschneider an Leon"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"datetime": "04.03.2024 13:02",
|
|
||||||
"message": "hkjaflksaflksafl kisafjdbsafdo\u00f6ijar\u00f6oirpijwfeij"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"datetime": "04.03.2024 18:02",
|
|
||||||
"message": "hdhdh"
|
|
||||||
}
|
|
||||||
]
|
|
|
@ -8,9 +8,14 @@
|
||||||
"log alarms";
|
"log alarms";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div.datetime {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
div.log {
|
div.log {
|
||||||
grid-area: log;
|
grid-area: log;
|
||||||
margin-bottom: 1cm;
|
margin-bottom: 1cm;
|
||||||
|
margin-right: 2cm;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.alarms {
|
div.alarms {
|
||||||
|
@ -22,6 +27,7 @@ div.savedLogs {
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
border-width: 5px;
|
border-width: 5px;
|
||||||
grid-area: savedLogs;
|
grid-area: savedLogs;
|
||||||
|
margin-right: 2cm;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.savedAlarms {
|
div.savedAlarms {
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
<a class="nav-link" href="#">About</a>
|
<a class="nav-link" href="#">About</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="{{url_for('refresh')}}">Reload</a>
|
<a class="nav-link" href="{{url_for('help')}}">Hilfe</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
|
||||||
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1>{% block title %} Hilfe! {% endblock %}</h1>
|
||||||
|
* schreib am besten was ins log vor dem ersten Alarm, sonst gibt's doppelten Alarm, wenn was abstürzt.
|
||||||
|
|
||||||
|
<h3>Debugging Hilfe</h3>
|
||||||
|
* Schau in den Code, da sind zwar auch keine Kommentare, aber er existiert
|
||||||
|
|
||||||
|
|
||||||
|
{% endblock %}
|
|
@ -28,7 +28,7 @@
|
||||||
<input type="text" name="logMessage"
|
<input type="text" name="logMessage"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
value="{{ request.form['logMessage'] }}"></input>
|
value="{{ request.form['logMessage'] }}"></input>
|
||||||
<input type="submit" id="saveLog" value="Speichern"/>
|
<input type="submit" id="saveLog" value="Speichern" style="margin-top: 3mm;"/>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
@ -36,15 +36,24 @@
|
||||||
<form method="post" action="/setAlarm">
|
<form method="post" action="/setAlarm">
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="time">Time</label>
|
<div class="datetime" style="padding-left: 3mm;">
|
||||||
<input type="datetime-local" name="datetime"
|
<label for="time">Datum</label>
|
||||||
class="form-control"
|
<input type="date" name="date"
|
||||||
value="{{ request.form['datetime'] }}"></input>
|
class="form-control"
|
||||||
<label for="alarmMessage">alarmMessage</label>
|
value="{{ request.form['date'] }}" style="width: 150px;"></input>
|
||||||
<input type="text" name="alarmMessage"
|
</div>
|
||||||
class="form-control"
|
<div class="datetime">
|
||||||
value="{{ request.form['alarmMessage'] }}"></input>
|
<label for="time">Uhrzeit</label>
|
||||||
<input type="submit" id="saveAlarm" value="Speichern"/>
|
<input type="time" name="time" class="form-control"
|
||||||
|
value="{{ request.form['time'] }}" style="width: 80px;" required></input>
|
||||||
|
</div>
|
||||||
|
<div style="padding: 3mm;">
|
||||||
|
<label for="alarmMessage">alarmMessage</label>
|
||||||
|
<input type="text" name="alarmMessage"
|
||||||
|
class="form-control"
|
||||||
|
value="{{ request.form['alarmMessage'] }}" required></input>
|
||||||
|
</div>
|
||||||
|
<input type="submit" id="saveAlarm" value="Speichern" style="padding-left: 3mm; margin-left: 3mm;"/>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
40
test.py
40
test.py
|
@ -11,20 +11,33 @@ previousAlarms = list()
|
||||||
logs = list()
|
logs = list()
|
||||||
|
|
||||||
def preprocess():
|
def preprocess():
|
||||||
logsFile = json.load(open("./logs.json"))
|
|
||||||
alarmsFile = json.load(open("./alarms.json"))
|
print('start init alarms and logs')
|
||||||
|
#versuch beide files zu laden, wenn das fehlschlägt, initiiere beide files als json
|
||||||
|
try:
|
||||||
|
logsFile = json.load(open("./logs.json"))
|
||||||
|
alarmsFile = json.load(open("./alarms.json"))
|
||||||
|
except:
|
||||||
|
print("initiate logs.json")
|
||||||
|
logsFile=json.load(open("./logs.json","w").write("{}"))
|
||||||
|
print("initiate alarms.json")
|
||||||
|
alarmsFile=json.load(open("./alarms.json","w").write("{}"))
|
||||||
|
# schreib alle alarme im File in previousAlarms, wenn sie älter als 2 mins sind
|
||||||
|
# alle anderen in active alarms
|
||||||
for alarm in alarmsFile:
|
for alarm in alarmsFile:
|
||||||
if datetime.strptime(alarm['datetime'],"%d.%m.%Y %H:%M") <= datetime.now()-timedelta(minutes=2):
|
if datetime.strptime(alarm['datetime'],"%d.%m.%Y %H:%M") <= datetime.now()-timedelta(minutes=2):
|
||||||
previousAlarms.append(alarm)
|
previousAlarms.append(alarm)
|
||||||
else:
|
else:
|
||||||
activeAlarms.append(alarm)
|
activeAlarms.append(alarm)
|
||||||
|
# lies alle log aus dem file ein
|
||||||
for log in logsFile:
|
for log in logsFile:
|
||||||
logs.append(log)
|
logs.append(log)
|
||||||
|
print("init of alarms and logs done")
|
||||||
|
|
||||||
@app.route("/", methods=('GET', 'POST'))
|
@app.route("/", methods=('GET', 'POST'))
|
||||||
def index():
|
def index():
|
||||||
# reload sendet alle paramenter neu und die werden neu drangeflanscht
|
# wenn die logs leer sind, gehen wir davon aus, dass noch nicht initialisiert wurde
|
||||||
|
# alarme werden gedoppelt, sollten schon welche da sein
|
||||||
if len(logs) <= 0:
|
if len(logs) <= 0:
|
||||||
preprocess()
|
preprocess()
|
||||||
|
|
||||||
|
@ -33,10 +46,19 @@ def index():
|
||||||
@app.route('/setAlarm', methods=('GET', 'POST'))
|
@app.route('/setAlarm', methods=('GET', 'POST'))
|
||||||
def setAlarm():
|
def setAlarm():
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
time = datetime.fromisoformat(request.form['datetime']).strftime("%d.%m.%Y %H:%M")
|
# wenn Datum leer:
|
||||||
|
# default Datum ist heute
|
||||||
|
# wenn heute + angegebene Uhrzeit vor jetzt ist -> Alarm für morgen zu der Uhrzeit gesetzt
|
||||||
|
if request.form['date'] !="" and request.form['time']!="":
|
||||||
|
time = datetime.strptime(request.form['date']+' '+request.form['time'], "%Y-%m-%d %H:%M")
|
||||||
|
elif request.form['date'] == "":
|
||||||
|
time = datetime.combine(datetime.today(),datetime.strptime(request.form['time'], "%H:%M").time())
|
||||||
|
if time<datetime.now():
|
||||||
|
time = time + timedelta(days=1)
|
||||||
content = request.form['alarmMessage']
|
content = request.form['alarmMessage']
|
||||||
activeAlarms.append({'datetime':time,'message':content})
|
activeAlarms.append({'datetime':datetime.strftime(time,"%d.%m.%Y %H:%M"),'message':content})
|
||||||
|
|
||||||
|
# ja, wir schreiben einfach das ganze File neu, ist aber einfacher
|
||||||
allAlarms = activeAlarms+previousAlarms
|
allAlarms = activeAlarms+previousAlarms
|
||||||
with open('alarms.json', 'w') as f:
|
with open('alarms.json', 'w') as f:
|
||||||
json.dump(allAlarms, f, indent=2)
|
json.dump(allAlarms, f, indent=2)
|
||||||
|
@ -80,6 +102,6 @@ def processAlarm():
|
||||||
def processpAlarm():
|
def processpAlarm():
|
||||||
return render_template('palarms.html', previousAlarms=previousAlarms)
|
return render_template('palarms.html', previousAlarms=previousAlarms)
|
||||||
|
|
||||||
@app.route("/refresh")
|
@app.route("/help")
|
||||||
def refresh():
|
def help():
|
||||||
return render_template('index.html', logs = logs, alarms = activeAlarms, previousAlarms=previousAlarms)
|
return render_template('help.html', logs = logs, alarms = activeAlarms, previousAlarms=previousAlarms)
|
Loading…
Reference in New Issue