2025-02-23 16:59:59 +01:00
|
|
|
#!/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...")
|
2025-02-23 17:04:43 +01:00
|
|
|
lecture_mots_par_minute = 220
|
2025-02-23 16:59:59 +01:00
|
|
|
# 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']}")
|
|
|
|
|
2025-02-23 17:02:41 +01:00
|
|
|
# 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)")
|
|
|
|
|
2025-02-23 16:59:59 +01:00
|
|
|
if __name__ == "__main__":
|
|
|
|
main()
|