Bei `getdata` würde ich nicht erwarten, dass man da Daten schreiben kann. Dateien die geöffnet werden, sollten auch wieder geschlossen werden, am besten mit dem with-Statement arbeiten.
Statt mit einer Zeitzone mit Sommer- und Winterzeit eine nehmen, die das nicht hat, bei Bedarf kann man ja immer noch umrechnen. Du schreibst immer noch für jeden Buchstaben einmal die gesamten Daten. Benutze format:
Code: Alles auswählen
def store_data():
if request.method == 'POST':
data = request.data
current_time = datetime.datetime.utcnow()
with open('test.txt', "a") as output:
output.write("{:%Y-%m-%d %H:%M:%S}; {}\n".format(current_dime, data))
return render_template('getdata.html')
Die if-Blöcke in Daten enthalten zum Großteil identischen Code. Schau mal, was sich da wirklich ändert, speichere das in Variablen und plotte nur an einer Stelle. Dann kannst Du diese variablen Teile in ein Wörterbuch auslagern und sparst die das if komplett. Das return am Ende der Funktion wird nie erreicht. Eine Schnittstelle, die mal HTML und mal PNG liefert, ist schlecht. Trenne die beiden Aufgaben in zwei Funktionen. Im HTML fehlt dazu auch noch das passende <img>-Tag.