#!/usr/bin/env python3
"""
Script pour configurer automatiquement django.contrib.sites
Corrige le problème de sitemap vide
"""

import os
import sys
from pathlib import Path

# Ajouter le répertoire parent au path
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))

# Configuration Django
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'duhaz_blog.settings')
import django
django.setup()

from django.contrib.sites.models import Site


def configure_site():
    """Configure django.contrib.sites pour le sitemap"""
    print("\n" + "="*70)
    print("CONFIGURATION DE DJANGO.CONTRIB.SITES")
    print("="*70 + "\n")
    
    try:
        # Vérifier si le site existe
        try:
            site = Site.objects.get(id=1)
            print(f"✅ Site existant trouvé :")
            print(f"   ID: {site.id}")
            print(f"   Domaine: {site.domain}")
            print(f"   Nom: {site.name}")
            
            # Vérifier si le domaine est correct
            if site.domain != 'www.duhaz.fr':
                print(f"\n⚠️  Domaine incorrect : {site.domain}")
                print(f"   Mise à jour vers : www.duhaz.fr")
                site.domain = 'www.duhaz.fr'
                site.name = 'Mr Duhaz'
                site.save()
                print("   ✅ Domaine mis à jour !")
            else:
                print("\n✅ Domaine correct !")
                
        except Site.DoesNotExist:
            print("⚠️  Aucun site avec ID=1 trouvé")
            print("   Création du site...")
            
            # Créer le site
            site = Site.objects.create(
                id=1,
                domain='www.duhaz.fr',
                name='Mr Duhaz'
            )
            print(f"✅ Site créé avec succès !")
            print(f"   ID: {site.id}")
            print(f"   Domaine: {site.domain}")
            print(f"   Nom: {site.name}")
        
        # Vérifier les autres sites
        all_sites = Site.objects.all()
        if all_sites.count() > 1:
            print(f"\n⚠️  {all_sites.count()} sites trouvés :")
            for s in all_sites:
                print(f"   - ID: {s.id}, Domaine: {s.domain}")
            print("\n   Si vous avez des sites inutiles, vous pouvez les supprimer.")
        
        print("\n" + "="*70)
        print("CONFIGURATION TERMINÉE")
        print("="*70)
        print("\n✅ django.contrib.sites est maintenant configuré !")
        print("\n📝 Prochaines étapes :")
        print("   1. Redémarrer votre serveur Django")
        print("   2. Vérifier le sitemap : https://www.duhaz.fr/sitemap.xml")
        print("   3. Exécuter : python scripts/diagnose_sitemap.py")
        
        return 0
        
    except Exception as e:
        print(f"\n❌ Erreur : {e}")
        import traceback
        traceback.print_exc()
        return 1


if __name__ == "__main__":
    sys.exit(configure_site())
