Report Manager
Le ReportManager est l’orchestrateur central du processus de reporting. Il coordonne la génération du rapport, l’archivage des logs et l’envoi final par e-mail.
Fonctionnalités
Orchestration Complète : Sa méthode principale,
generate_and_send_report, exécute l’ensemble du pipeline de reporting.Génération de Rapport : Fait appel au module HTML Generator pour créer le rapport HTML détaillé ainsi qu’un résumé pour l’e-mail.
Archivage des Logs : Crée une archive
.zipcontenant le fichier de log de l’application et la base de données SQLite pour faciliter le débogage et l’archivage.Envoi par E-mail : Utilise le module
EmailSenderpour envoyer un e-mail contenant le résumé du rapport, avec le rapport HTML complet et l’archive des logs en pièces jointes.Nettoyage Automatique : Supprime les fichiers temporaires (rapport HTML et archive zip) après leur envoi pour maintenir un environnement propre.
Usage
Une instance de ReportManager est créée dans le script principal de l’application. Elle est initialisée avec l’instance de ConfigManager pour accéder à toutes les configurations nécessaires (chemins, e-mail, etc.).
Modules
- class src.smart_watch.reporting.report_manager.ReportManager(config: ConfigManager, logger: SmartWatchLogger)[source]
Bases :
objectGestionnaire pour la génération et l’envoi de rapports.
- __init__(config: ConfigManager, logger: SmartWatchLogger) None[source]
Initialise le gestionnaire de rapports avec la configuration et le logger.
Cette méthode configure les composants nécessaires pour générer et envoyer les rapports : configuration du système et logger pour le suivi des opérations.
- Paramètres:
config (ConfigManager) – gestionnaire de configuration du système.
logger – instance de logger pour la journalisation des événements.