#!/bin/python3 # Générer des statistiques sur tous les sites web from utils import get_stats_on_all_websites from website_config import configs_sites def main(): """ Fonction principale qui génère les statistiques pour tous les sites web configurés """ print("Génération des statistiques pour tous les sites web...") lecture_mots_par_minute = 220 # Récupérer les statistiques pour tous les sites stats = get_stats_on_all_websites() # Afficher les statistiques pour chaque site for site_name, site_stats in stats.items(): print(f"\n=== Statistiques pour {site_name} ===") print(f"Nombre total d'articles: {site_stats['nb_articles']}") # Formater le nombre de mots avec séparateur de milliers mots_formatte = f"{site_stats['nb_mots']:,}".replace(',', ' ') # Calculer le temps de lecture (150 mots/minute) temps_lecture = site_stats['nb_mots'] / lecture_mots_par_minute heures = int(temps_lecture // 60) minutes = int(temps_lecture % 60) # Si le temps de lecture dépasse 48h, convertir en jours if heures >= 48: jours = heures // 24 heures = heures % 24 temps_lecture_str = f"{jours}j {heures}h {minutes}min" else: temps_lecture_str = f"{heures}h {minutes}min" if heures > 0 else f"{minutes}min" print(f"Nombre total de mots: {mots_formatte}") print(f"Temps de lecture estimé: {temps_lecture_str} (base: {lecture_mots_par_minute} mots/min)") print(f"Dernier article publié: {site_stats['dernier_article']}") # Afficher les statistiques globales print("\n=== Statistiques globales ===") total_articles = sum(site_stats['nb_articles'] for site_stats in stats.values()) total_mots = sum(site_stats['nb_mots'] for site_stats in stats.values()) # Formater le nombre total de mots total_mots_formatte = f"{total_mots:,}".replace(',', ' ') # Calculer le temps de lecture total temps_lecture_total = total_mots / lecture_mots_par_minute heures = int(temps_lecture_total // 60) minutes = int(temps_lecture_total % 60) if heures >= 48: jours = heures // 24 heures = heures % 24 temps_lecture_str = f"{jours}j {heures}h {minutes}min" else: temps_lecture_str = f"{heures}h {minutes}min" if heures > 0 else f"{minutes}min" print(f"Nombre total d'articles tous sites confondus: {total_articles}") print(f"Nombre total de mots tous sites confondus: {total_mots_formatte}") print(f"Temps de lecture total estimé: {temps_lecture_str} (base: {lecture_mots_par_minute} mots/min)") if __name__ == "__main__": main()