Mise à jour 22/4/25

This commit is contained in:
2025-04-22 13:11:49 +02:00
parent 4c228e8dcf
commit 9d84e640e9

View File

@@ -5,10 +5,9 @@ import time
import smtplib import smtplib
from email.mime.text import MIMEText from email.mime.text import MIMEText
import pandas as pd import pandas as pd
from dotenv import load_dotenv
import os import os
from dotenv import load_dotenv
# Charger les variables d'environnement
load_dotenv() load_dotenv()
# --- Config MySQL --- # --- Config MySQL ---
@@ -19,8 +18,9 @@ config = {
"database": os.getenv("DB_NAME") "database": os.getenv("DB_NAME")
} }
# --- Destinataires email --- # --- Fonction de sélection des destinataires selon le site ---
destinataires = os.getenv("EMAIL_DEST").split(",") def get_destinataires(lieu):
return os.getenv(f"EMAIL_{lieu.upper()}", os.getenv("EMAIL_DEFAULT")).split(",")
# --- Fonction d'envoi de mail --- # --- Fonction d'envoi de mail ---
def envoyer_mail(sujet, message, destinataires): def envoyer_mail(sujet, message, destinataires):
@@ -36,7 +36,6 @@ def envoyer_mail(sujet, message, destinataires):
except Exception as e: except Exception as e:
print(f"Erreur envoi mail : {e}", flush=True) print(f"Erreur envoi mail : {e}", flush=True)
# --- Fonction de surveillance --- # --- Fonction de surveillance ---
def surveiller(): def surveiller():
log_entries = [] log_entries = []
@@ -98,7 +97,7 @@ def surveiller():
f"La sonde '{nom_sonde}' du site '{lieu}' a dépassé le seuil de {seuil}°C " f"La sonde '{nom_sonde}' du site '{lieu}' a dépassé le seuil de {seuil}°C "
f"depuis plus de 30 minutes.\nHeure : {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}" f"depuis plus de 30 minutes.\nHeure : {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
) )
envoyer_mail(sujet, message, destinataires) envoyer_mail(sujet, message, get_destinataires(lieu))
# Acquittement automatique # Acquittement automatique
cursor.execute(f""" cursor.execute(f"""
@@ -128,6 +127,6 @@ def surveiller():
# --- Boucle principale --- # --- Boucle principale ---
while True: while True:
print(f"📡 Vérification à {datetime.now()}", flush=True) print(f"🛁 Vérification à {datetime.now()}", flush=True)
surveiller() surveiller()
time.sleep(300) # 5 minutes time.sleep(300) # 5 minutes