64 lines
1.9 KiB
Python
64 lines
1.9 KiB
Python
|
#!/usr/bin/python3
|
||
|
|
||
|
from flask import Flask, json, request
|
||
|
import csv
|
||
|
from collections import OrderedDict
|
||
|
|
||
|
api = Flask(__name__)
|
||
|
|
||
|
database = {}
|
||
|
ordered_dict = {}
|
||
|
|
||
|
def open_csv():
|
||
|
result = ""
|
||
|
with open('database.csv') as csv_file:
|
||
|
csv_reader = csv.reader(csv_file, delimiter=',')
|
||
|
line_count = 0
|
||
|
for row in csv_reader:
|
||
|
id = row[0]
|
||
|
database[id] = { "time":row[0], "temproom":row[1], "temp":row[2],"bubbles":row[3]}
|
||
|
#print("Time: " + row[0] + " | Raumtemperatur: " + row[1]+ " | Biertemperatur: " + row[2]+ " | Blasen: " + row[3])
|
||
|
sort_dict()
|
||
|
|
||
|
def sort_dict():
|
||
|
newlist = sorted(database, reverse=True)
|
||
|
#print(newlist)
|
||
|
for entry in newlist:
|
||
|
ordered_dict[entry] = {}
|
||
|
ordered_dict[entry] = database[entry]
|
||
|
#print(ordered_dict)
|
||
|
|
||
|
def write_dict():
|
||
|
f = open('database.csv', 'w')
|
||
|
with f:
|
||
|
fnames = ['time', 'temproom', 'temp', 'bubbles']
|
||
|
writer = csv.DictWriter(f, fieldnames=fnames)
|
||
|
#writer.writeheader()
|
||
|
for entry in ordered_dict:
|
||
|
writer.writerow({"time":ordered_dict[entry]["time"], "temproom":ordered_dict[entry]["temproom"], "temp":ordered_dict[entry]["temp"], "bubbles":ordered_dict[entry]["bubbles"]})
|
||
|
|
||
|
@api.route('/', methods=['GET'])
|
||
|
def get_values():
|
||
|
#print (ordered_dict)
|
||
|
open_csv()
|
||
|
return (ordered_dict)
|
||
|
|
||
|
|
||
|
@api.route('/b6dg4V', methods=['POST'])
|
||
|
def post_values():
|
||
|
s = str(request.data)
|
||
|
s = s.replace("b'", "")
|
||
|
s = s.replace("'", "")
|
||
|
split = s.split(" ")
|
||
|
print("Zeit: " + split[0] )
|
||
|
print("Raumtemp: " + split[1] )
|
||
|
print("Temp: " + split[2] )
|
||
|
print("Blasen: " + split[3] )
|
||
|
database[split[0]] = { "time":split[0], "temproom":split[1], "temp":split[2], "bubbles":split[3] }
|
||
|
sort_dict()
|
||
|
write_dict()
|
||
|
return json.dumps({"success": True}), 201
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
open_csv()
|
||
|
api.run(host='0.0.0.0', port=5632)
|