Ajout fonction SMS avec journalisation sur develop
This commit is contained in:
@@ -1,22 +1,34 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import ovh
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
|
||||
load_dotenv()
|
||||
|
||||
# Dictionnaire des numéros par site
|
||||
NUMEROS_PAR_SITE = {
|
||||
PHONE_NUMBERS_BY_SITE = {
|
||||
"Saclay": ["+33635164680", "+33650270939","+33682069405"],
|
||||
"Meudon": ["+33616443455"],
|
||||
# ajoute d'autres sites ici
|
||||
}
|
||||
# Dossier de logs
|
||||
log_dir = Path("/home/debian/Gestion_sondes/Logs") if os.name != "nt" else Path.cwd() / "Logs"
|
||||
log_dir.mkdir(parents=True, exist_ok=True)
|
||||
log_file = log_dir / "journal_sms.csv"
|
||||
|
||||
def journaliser_sms(message, site, phone_number):
|
||||
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
lignes = [f"{timestamp};{site};{num};{message}" for num in phone_number]
|
||||
with open(log_file, "a", encoding="utf-8") as f:
|
||||
for ligne in lignes:
|
||||
f.write(ligne + "\n")
|
||||
|
||||
def envoyer_sms_ovh(message, site):
|
||||
numeros = NUMEROS_PAR_SITE.get(site)
|
||||
if not numeros:
|
||||
phone_numbers = PHONE_NUMBERS_BY_SITE.get(site)
|
||||
if not phone_numbers:
|
||||
print(f"[!] Aucun numéro défini pour le site {site}. SMS non envoyé.")
|
||||
return
|
||||
return None
|
||||
|
||||
client = ovh.Client(
|
||||
endpoint=os.getenv("OVH_ENDPOINT"),
|
||||
@@ -31,12 +43,15 @@ def envoyer_sms_ovh(message, site):
|
||||
result = client.post(f'/sms/{account}/jobs',
|
||||
sender='Supervision',
|
||||
message=message,
|
||||
receivers=numeros,
|
||||
receivers=phone_numbers,
|
||||
priority='high',
|
||||
noStopClause=True,
|
||||
)
|
||||
print(f"[✓] SMS envoyé pour {site} à {numeros}")
|
||||
print(f"[✓] SMS envoyé pour {site} à {phone_numbers}")
|
||||
journaliser_sms(message, site, phone_numbers)
|
||||
return result
|
||||
except Exception as e:
|
||||
print(f"[!] Erreur envoi SMS OVH : {e}")
|
||||
return None
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user