Files
2022-11-04 23:15:29 +01:00

57 lines
1.8 KiB
Python

import sqlite3,requests, json
from flask import Flask, flash, redirect, render_template, request, url_for
from werkzeug.exceptions import abort
def get_db_connection():
conn = sqlite3.connect('energiemon.db')
conn.row_factory = sqlite3.Row
return conn
app = Flask(__name__)
app.config['SECRET_KEY'] = 'Voobaiyae*h7kigj'
def wetterinfo():
api_key = "536479df69dcad6956b0c27300e8fddb"
lat = "50.63856454090637"
lon = "7.5160431030656145"
url = "https://api.openweathermap.org/data/2.5/weather?lat=%s&lon=%s&appid=%s&units=metric&lang=de" % (lat, lon, api_key)
response = requests.get(url)
data = json.loads(response.text)
current = data["main"]["temp"]
wetterString=""+str(current)+"°C|"
current = data["weather"][0]["description"]
wetterString+= current+"|"
return wetterString
@app.route('/', methods=('GET', 'POST'))
def index():
if request.method == 'POST':
gaszaehler = request.form['gaszaehler']
stromzaehler = request.form['stromzaehler']
wasserzaehler = request.form['wasserzaehler']
wetter = wetterinfo() + request.form['wetter']
conn = get_db_connection()
conn.execute("INSERT INTO eintraege ( gaszaehler, stromzaehler, wasserzaehler, wetterinfo) VALUES ( ?, ?, ?, ?)",
(gaszaehler , stromzaehler, wasserzaehler, wetter )
)
conn.commit()
conn.close()
flash('Vielen Dank G' + gaszaehler + ' S' + stromzaehler + ' W' + wasserzaehler,'success')
return redirect(url_for('index'))
conn = get_db_connection()
eintraege = conn.execute('SELECT * FROM eintraege').fetchall()
conn.close()
return render_template('index.html', eintraege=eintraege )
if __name__ == '__main__':
app.run()