from flask import Flask, render_template, g import sqlite3 import os DB_FILE = "dht_data.sqlite" TABLE_NAME = "readings" BASE_DIR = os.path.dirname(os.path.abspath(__file__)) DATABASE_PATH = os.path.join(BASE_DIR,DB_FILE) app = Flask(__name__) app.config["DATABASE"] = DATABASE_PATH def get_db(): if "db" not in g: try: g.db = sqlite3.connect( app.config["DATABASE"], detect_types=sqlite3.PARSE_DECLTYPES ) g.db.row_factory = sqlite3.Row except sqlite3.Error as e: print(f"Chyba při pripojeni db: {e}") return g.db @app.teardown_appcontext def close_db(): db = g.pop("db",None) if db is not None: db.close() @app.route("/") def index(): data = [] try: db = get_db() cursor = db.cursor() cursor.execute(f"SELECT timestamp, temperature, humidity FROM {TABLE_NAME} ORDER BY timestamp DESC") data = cursor.fetchall() except sqlite3.Error as e: print(f"Chyba při čtení z db: {e}") return render_template("index.html", data=data) if __name__ == "__main__": print(f"DB se očekává zde: {app.config['DATABASE']}") print(f"Server bude dostupný na http://localhost:5000") app.run(debug=True, host="0.0.0.0", port=5000)