#!/bin/bash
# =============================================================================
# SCRIPT D'INSTALLATION MINDFINTECH SUR CPANEL
# =============================================================================
# Exécute ce script UNE SEULE FOIS après avoir uploadé les fichiers
# Usage: bash setup_cpanel.sh
# =============================================================================

echo "=== Installation MindFinTech sur cPanel ==="

# Couleurs
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# Récupérer le nom d'utilisateur cPanel
CPANEL_USER=$(whoami)
echo -e "${GREEN}Utilisateur cPanel détecté: $CPANEL_USER${NC}"

# Chemins
PROJECT_DIR="/home/mjzg4129/data-workers.com/podcast/mindfintech"
PUBLIC_DIR="/home/mjzg4129/data-workers.com/podcast/public_html/"

# 1. Créer les dossiers nécessaires
echo -e "\n${YELLOW}1. Création des dossiers...${NC}"
mkdir -p "$PROJECT_DIR/output/raw"
mkdir -p "$PROJECT_DIR/output/audio"
mkdir -p "$PROJECT_DIR/output/clean"
mkdir -p "$PUBLIC_DIR/episodes"
echo -e "${GREEN}   ✓ Dossiers créés${NC}"

# 2. Installer les dépendances Python
echo -e "\n${YELLOW}2. Installation des dépendances Python...${NC}"
pip install --user google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client
pip install --user python-dotenv elevenlabs beautifulsoup4 html2text requests anthropic
echo -e "${GREEN}   ✓ Dépendances installées${NC}"

# 3. Configurer le fichier config.py
echo -e "\n${YELLOW}3. Configuration des chemins...${NC}"
if [ -f "$PROJECT_DIR/config_cpanel.py" ]; then
    # Remplacer "ton_user" par le vrai nom d'utilisateur
    sed -i "s/ton_user/$CPANEL_USER/g" "$PROJECT_DIR/config_cpanel.py"
    # Renommer en config.py
    mv "$PROJECT_DIR/config_cpanel.py" "$PROJECT_DIR/config.py"
    echo -e "${GREEN}   ✓ config.py configuré${NC}"
else
    echo -e "${RED}   ✗ config_cpanel.py non trouvé${NC}"
fi

# 4. Configurer le fichier .env
echo -e "\n${YELLOW}4. Configuration du .env...${NC}"
if [ -f "$PROJECT_DIR/.env.cpanel" ]; then
    sed -i "s/CPANEL_USER=ton_user/CPANEL_USER=$CPANEL_USER/g" "$PROJECT_DIR/.env.cpanel"
    mv "$PROJECT_DIR/.env.cpanel" "$PROJECT_DIR/.env"
    echo -e "${GREEN}   ✓ .env configuré (PENSE À AJOUTER TES CLÉS API !)${NC}"
else
    echo -e "${RED}   ✗ .env.cpanel non trouvé${NC}"
fi

# 5. Vérifier les fichiers essentiels
echo -e "\n${YELLOW}5. Vérification des fichiers...${NC}"

check_file() {
    if [ -f "$1" ]; then
        echo -e "${GREEN}   ✓ $2${NC}"
    else
        echo -e "${RED}   ✗ $2 MANQUANT${NC}"
    fi
}

check_file "$PROJECT_DIR/main.py" "main.py"
check_file "$PROJECT_DIR/config.py" "config.py"
check_file "$PROJECT_DIR/.env" ".env"
check_file "$PROJECT_DIR/credentials.json" "credentials.json"
check_file "$PROJECT_DIR/token.json" "token.json"
check_file "$PROJECT_DIR/modules/__init__.py" "modules/__init__.py"
check_file "$PUBLIC_DIR/cover.jpg" "public/cover.jpg"
check_file "$PUBLIC_DIR/feed.xml" "public/feed.xml"

# 6. Définir les permissions
echo -e "\n${YELLOW}6. Configuration des permissions...${NC}"
chmod 755 "$PROJECT_DIR"
chmod 644 "$PROJECT_DIR/.env"
chmod 644 "$PROJECT_DIR/credentials.json"
chmod 644 "$PROJECT_DIR/token.json"
chmod -R 755 "$PUBLIC_DIR"
echo -e "${GREEN}   ✓ Permissions configurées${NC}"

# 7. Tester l'exécution Python
echo -e "\n${YELLOW}7. Test de Python...${NC}"
python3 --version
if [ $? -eq 0 ]; then
    echo -e "${GREEN}   ✓ Python fonctionne${NC}"
else
    echo -e "${RED}   ✗ Problème avec Python${NC}"
fi

# 8. Afficher la commande cron
echo -e "\n${YELLOW}========================================${NC}"
echo -e "${GREEN}INSTALLATION TERMINÉE !${NC}"
echo -e "${YELLOW}========================================${NC}"
echo ""
echo -e "PROCHAINES ÉTAPES:"
echo ""
echo -e "1. ${YELLOW}Édite le fichier .env${NC} avec tes vraies clés API:"
echo -e "   nano $PROJECT_DIR/.env"
echo ""
echo -e "2. ${YELLOW}Ajoute cette tâche Cron${NC} dans cPanel:"
echo -e "   Fréquence: ${GREEN}0 7 * * *${NC} (tous les jours à 7h)"
echo -e "   Commande:"
echo -e "   ${GREEN}cd /home/$CPANEL_USER/mindfintech && /usr/bin/python3 main.py >> /home/$CPANEL_USER/mindfintech/cron.log 2>&1${NC}"
echo ""
echo -e "3. ${YELLOW}Soumets ton flux RSS${NC} à Spotify:"
echo -e "   https://podcasters.spotify.com"
echo -e "   URL du flux: ${GREEN}https://data-workers.com/podcast/feed.xml${NC}"
echo ""
