Règlages des alertes dans Monitor_Saclay
This commit is contained in:
@@ -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],
|
||||
|
||||
Reference in New Issue
Block a user