#!/bin/bash
# Script bash que executa un script Python interno para restaurar FreeCAD

echo "🔧 Iniciando restauración de configuración de FreeCAD..."
echo "------------------------------------------------------"

# Executa o bloque Python
python3 - <<'EOF'
#!/usr/bin/env python3
import os
import urllib.request

# Ruta ao ficheiro de configuración de FreeCAD (Flatpak)
config_path = '/home/usuario/.var/app/org.freecad.FreeCAD/config/FreeCAD/user.cfg'

# URL do ficheiro remoto user.cfg
remote_url = 'https://wordpress.piztu.org/wp-content/uploads/2025/10/user.cfg'

try:
    print(f"🌐 Descargando 'user.cfg' desde {remote_url}...")
    # Descarga o ficheiro remoto
    with urllib.request.urlopen(remote_url) as response:
        user_cfg_content = response.read().decode('utf-8')

    # Crea o directorio destino se non existe
    os.makedirs(os.path.dirname(config_path), exist_ok=True)

    # Escribe o contido descargado no ficheiro de FreeCAD
    with open(config_path, 'w', encoding='UTF-8') as f:
        f.write(user_cfg_content)

    print(f"✅ Configuración de FreeCAD restaurada correctamente desde '{remote_url}' en: {config_path}")
    print("🔄 Reinicia FreeCAD e vai a 'Editar > Preferencias' para aceptar os cambios.")

except urllib.error.URLError as e:
    print(f"❌ Erro: Non se puido descargar o ficheiro desde {remote_url}")
    print(f"🔍 Detalles: {e.reason}")
except PermissionError:
    print(f"❌ Erro: Non tes permisos para escribir en {config_path}. Executa con sudo ou verifica a ruta.")
except Exception as e:
    print(f"❌ Erro inesperado: {str(e)}")
EOF

echo "------------------------------------------------------"
echo "🏁 Script rematado."
