65 lines
1.7 KiB
Python
65 lines
1.7 KiB
Python
import mysql.connector
|
|
import os
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
def verifier_utilisateur_commun(login, password):
|
|
conn = get_connection()
|
|
cursor = conn.cursor(dictionary=True)
|
|
|
|
query = """
|
|
SELECT NomUtilisateur FROM Commun.AccesUtilisateurs
|
|
WHERE NomUtilisateur = %s
|
|
AND MotDePasse = %s
|
|
AND (DateExpiration IS NULL OR DateExpiration >= CURDATE())
|
|
"""
|
|
cursor.execute(query, (login, password))
|
|
user = cursor.fetchone()
|
|
cursor.close()
|
|
conn.close()
|
|
return user # None si non trouvé
|
|
|
|
def get_connection():
|
|
return mysql.connector.connect(
|
|
host=os.getenv("DB_HOST"),
|
|
user=os.getenv("DB_USER"),
|
|
password=os.getenv("DB_PASSWORD"),
|
|
database=os.getenv("DB_NAME")
|
|
)
|
|
|
|
def get_latest_chaufferie():
|
|
conn = get_connection()
|
|
cursor = conn.cursor(dictionary=True)
|
|
query = """
|
|
SELECT c1.Sonde, c1.Temperature, c1.Date, c1.Topic
|
|
FROM Chaufferie c1
|
|
INNER JOIN (
|
|
SELECT Sonde, MAX(Date) AS MaxDate
|
|
FROM Chaufferie
|
|
GROUP BY Sonde
|
|
) c2 ON c1.Sonde = c2.Sonde AND c1.Date = c2.MaxDate
|
|
ORDER BY c1.Topic, c1.Sonde
|
|
"""
|
|
cursor.execute(query)
|
|
data = cursor.fetchall()
|
|
cursor.close()
|
|
conn.close()
|
|
return data
|
|
|
|
def get_history_by_sonde(sonde_name):
|
|
conn = get_connection()
|
|
cursor = conn.cursor(dictionary=True)
|
|
query = """
|
|
SELECT Date, Temperature
|
|
FROM Chaufferie
|
|
WHERE Sonde = %s AND Date >= NOW() - INTERVAL 1 DAY
|
|
ORDER BY Date ASC
|
|
"""
|
|
cursor.execute(query, (sonde_name,))
|
|
data = cursor.fetchall()
|
|
cursor.close()
|
|
conn.close()
|
|
return data
|
|
|