Règlages des alertes dans Monitor_Saclay

This commit is contained in:
2025-09-23 13:40:14 +02:00
parent 9131758db7
commit 072a0cbbc5
3 changed files with 177 additions and 79 deletions

View File

@@ -1,9 +1,28 @@
import os
import ovh
from dotenv import load_dotenv
import unicodedata, re
load_dotenv()
def normaliser_sms(message: str, prefix: str = "") -> str:
REPL = {"°": "C", "": "'", "": '"', "": '"', "": "-", "": "-", "": "..."}
for k, v in REPL.items():
message = message.replace(k, v)
message = unicodedata.normalize("NFKD", message).encode("ascii", "ignore").decode("ascii")
rules = [
(r"\bTemperature\b", "T"),
(r"\bTemp[ée]rature\b", "T"),
(r"\bSeuil\b", "S"),
(r"\bHeure\b", "H"),
(r"\s{2,}", " "),
]
for pat, repl in rules:
message = re.sub(pat, repl, message, flags=re.IGNORECASE)
if prefix:
message = f"[{prefix}] {message}"
return message[:160]
def envoyer_sms(message: str, lieu: str = ""):
try:
client = ovh.Client(
@@ -28,7 +47,7 @@ def envoyer_sms(message: str, lieu: str = ""):
if not numero_dest or not numero_dest.isdigit():
print(f"❌ Numéro de téléphone invalide ou manquant : '{numero_dest}'", flush=True)
return
message = normaliser_sms(message, prefix=lieu)
payload = {
"sender": sender,
"receivers": [numero_dest],