#!/bin/bash
# Script para verificar rápidamente un addon específico

set -e

if [ -z "$1" ]; then
    echo "Uso: $0 <nombre_addon>"
    echo "Ejemplo: $0 account_invoice_triple_discount"
    exit 1
fi

ADDON_NAME=$1
ADDON_PATH="./$ADDON_NAME"

if [ ! -d "$ADDON_PATH" ]; then
    echo "Error: El addon '$ADDON_NAME' no existe en este directorio"
    exit 1
fi

if [ ! -f "$ADDON_PATH/__manifest__.py" ] && [ ! -f "$ADDON_PATH/__openerp__.py" ]; then
    echo "Error: '$ADDON_NAME' no parece ser un addon válido de Odoo"
    exit 1
fi

echo "=========================================="
echo "Verificando addon: $ADDON_NAME"
echo "=========================================="
echo ""

echo "1. Ejecutando black..."
black --check "$ADDON_PATH" || (echo "❌ Black encontró problemas de formato" && black "$ADDON_PATH" && echo "✅ Formateado con black")

echo ""
echo "2. Ejecutando isort..."
isort --check-only "$ADDON_PATH" || (echo "❌ isort encontró problemas" && isort "$ADDON_PATH" && echo "✅ Imports ordenados con isort")

echo ""
echo "3. Ejecutando flake8..."
flake8 "$ADDON_PATH" && echo "✅ flake8 pasó correctamente" || echo "❌ flake8 encontró problemas"

echo ""
echo "4. Ejecutando pylint (checks mandatorios)..."
pylint --rcfile=.pylintrc-mandatory "$ADDON_PATH" && echo "✅ pylint mandatorio pasó correctamente" || echo "❌ pylint mandatorio encontró problemas"

echo ""
echo "5. Ejecutando pylint (checks opcionales)..."
pylint --rcfile=.pylintrc --exit-zero "$ADDON_PATH"

echo ""
echo "=========================================="
echo "Verificación completa de $ADDON_NAME"
echo "=========================================="
