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) None[source]

Initialise le NotificationManager.

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.

config_manager

Le gestionnaire de configuration.

Type:

ConfigManager

db_manager

Le gestionnaire de base de données.

Type:

DatabaseManager

logger

Le logger.

Type:

SmartWatchLogger

email_sender

L’expéditeur d’email.

Type:

EmailSender

send_report_email(stats: Dict[str, Any]) None[source]

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

Paramètres:

stats (Dict[str, Any]) – 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