from flask import Flask, render_template from modules import database from dotenv import load_dotenv import os # Laad omgevingsvariabelen vanuit .env bestand load_dotenv() app = Flask(__name__) # Configuratie voor database en logging uit omgevingsvariabelen config = { 'user': os.getenv('DB_USER'), 'password': os.getenv('DB_PASSWORD'), 'host': os.getenv('DB_HOST'), 'database': os.getenv('DB_NAME') } logger = app.logger # Flask loggers def calculate_windkracht(wind_speed): """Berekent de windkracht op basis van de wind_snelheid (m/s).""" if wind_speed <= 0.2: return "Windstil", 0 elif wind_speed <= 1.5: return "Zwak", 1 elif wind_speed <= 3.3: return "Matig", 2 elif wind_speed <= 5.4: return "Frisse wind", 3 elif wind_speed <= 7.9: return "Harde wind", 4 elif wind_speed <= 10.7: return "Stormachtig", 5 else: return "Storm", 6 @app.route('/') def index(): # Maak een database-object (pas de naam aan naar Database) db = database.Database(config, logger) # Veranderd naar database.Database # Haal de weerdata op uit de database weather_data = db.get_weather_data() # Verwerk de windkracht op basis van de gemiddelde wind_speed for entry in weather_data: wind_speed = entry['avg_wind_speed'] if wind_speed is not None: entry['windkracht_tekst'], entry['windkracht_num'] = calculate_windkracht( wind_speed) else: entry['windkracht_tekst'] = "Gegevens niet beschikbaar" entry['windkracht_num'] = None # Voeg de dag van de week toe (bijvoorbeeld 'Maandag', 'Dinsdag', etc.) # Gebruik direct strftime op een datetime object entry['dag_van_de_week'] = entry['date'].strftime('%A') # Geef de verwerkte data door aan de template return render_template('index.html', weather_data=weather_data) if __name__ == '__main__': app.run(debug=True)