Compare commits

...

2 Commits

Author SHA1 Message Date
Anika e9f8d3ad28 started adding docs/comments 2024-03-04 23:20:43 +01:00
Anika 43bce4789c closes #2 2024-03-04 22:22:58 +01:00
8 changed files with 69 additions and 56 deletions

Binary file not shown.

View File

@ -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"
}
]

View File

@ -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"
}
]

View File

@ -8,9 +8,14 @@
"log alarms";
}
div.datetime {
display: inline-block;
}
div.log {
grid-area: log;
margin-bottom: 1cm;
margin-right: 2cm;
}
div.alarms {
@ -22,6 +27,7 @@ div.savedLogs {
border-radius: 20px;
border-width: 5px;
grid-area: savedLogs;
margin-right: 2cm;
}
div.savedAlarms {

View File

@ -22,7 +22,7 @@
<a class="nav-link" href="#">About</a>
</li>
<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>
</ul>
</div>

12
templates/help.html Normal file
View File

@ -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 %}

View File

@ -28,7 +28,7 @@
<input type="text" name="logMessage"
class="form-control"
value="{{ request.form['logMessage'] }}"></input>
<input type="submit" id="saveLog" value="Speichern"/>
<input type="submit" id="saveLog" value="Speichern" style="margin-top: 3mm;"/>
</div>
</form>
</div>
@ -36,15 +36,24 @@
<form method="post" action="/setAlarm">
<div class="form-group">
<label for="time">Time</label>
<input type="datetime-local" name="datetime"
class="form-control"
value="{{ request.form['datetime'] }}"></input>
<label for="alarmMessage">alarmMessage</label>
<input type="text" name="alarmMessage"
class="form-control"
value="{{ request.form['alarmMessage'] }}"></input>
<input type="submit" id="saveAlarm" value="Speichern"/>
<div class="datetime" style="padding-left: 3mm;">
<label for="time">Datum</label>
<input type="date" name="date"
class="form-control"
value="{{ request.form['date'] }}" style="width: 150px;"></input>
</div>
<div class="datetime">
<label for="time">Uhrzeit</label>
<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>
</form>
</div>

40
test.py
View File

@ -11,20 +11,33 @@ previousAlarms = list()
logs = list()
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:
if datetime.strptime(alarm['datetime'],"%d.%m.%Y %H:%M") <= datetime.now()-timedelta(minutes=2):
previousAlarms.append(alarm)
else:
activeAlarms.append(alarm)
# lies alle log aus dem file ein
for log in logsFile:
logs.append(log)
print("init of alarms and logs done")
@app.route("/", methods=('GET', 'POST'))
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:
preprocess()
@ -33,10 +46,19 @@ def index():
@app.route('/setAlarm', methods=('GET', 'POST'))
def setAlarm():
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']
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
with open('alarms.json', 'w') as f:
json.dump(allAlarms, f, indent=2)
@ -80,6 +102,6 @@ def processAlarm():
def processpAlarm():
return render_template('palarms.html', previousAlarms=previousAlarms)
@app.route("/refresh")
def refresh():
return render_template('index.html', logs = logs, alarms = activeAlarms, previousAlarms=previousAlarms)
@app.route("/help")
def help():
return render_template('help.html', logs = logs, alarms = activeAlarms, previousAlarms=previousAlarms)