Gestionnaire de Notifications

Le module NotificationManager orchestre la génération de rapports et leur envoi par email.

Usage

Le NotificationManager est appelé à la fin du pipeline de traitement pour notifier les utilisateurs des résultats.

Fonctionnalités

  • Coordonne la génération des rapports d’analyse au format HTML.

  • Compresse les fichiers de log et la base de données dans une archive ZIP.

  • Utilise le module EnvoyerMail pour expédier le rapport avec les logs en pièce jointe.

  • Gère le cycle de vie des fichiers temporaires (création, nettoyage).

Modules

class src.smart_watch.core.NotificationManager.NotificationManager(config_manager: ConfigManager, db_manager: DatabaseManager, logger: SmartWatchLogger)[source]

Bases : object

Gère la création et l’envoi de notifications par email avec pièces jointes.

__init__(config_manager: ConfigManager, db_manager: DatabaseManager, logger: SmartWatchLogger)[source]

Initialise le NotificationManager avec les gestionnaires de configuration, base de données et journalisation.

Paramètres:
  • config_manager (ConfigManager) – gestionnaire de configuration de l’application.

  • db_manager (DatabaseManager) – gestionnaire de la base de données.

  • logger (SmartWatchLogger) – instance de journalisation pour enregistrer les événements.

Lève:

ValueError – si les paramètres fournis sont invalides.

send_report_email(stats: Dict)[source]

Génère le rapport, compresse les logs et envoie l’email.

Paramètres:

stats (Dict) – statistiques à inclure dans le rapport.

_generate_report() str[source]

Génère le rapport HTML.

Renvoie:

chemin du fichier HTML généré, ou une chaîne vide en cas d’erreur.

Type renvoyé:

str

_zip_log_file() str[source]

Compresse le fichier de log et retourne le chemin du fichier zip.

Renvoie:

chemin du fichier zip créé, ou une chaîne vide en cas d’erreur

Type renvoyé:

str