# Herramientas de Verificación OCA Este repositorio está configurado con las herramientas de verificación estándar de OCA (Odoo Community Association). ## Herramientas Instaladas - **pre-commit**: Gestor de hooks de git para ejecutar verificaciones automáticas - **black**: Formateador de código Python - **isort**: Ordenador de imports Python - **flake8**: Linter de estilo Python (con flake8-bugbear) - **pylint**: Analizador de código Python con pylint-odoo - **autoflake**: Elimina imports y variables no utilizadas - **pyupgrade**: Actualiza sintaxis de Python a versiones más modernas - **prettier**: Formateador para XML, YAML, JSON, etc. ## Uso ### Verificación Manual Para ejecutar las verificaciones en todos los archivos: ```bash pre-commit run --all-files ``` Para ejecutar en archivos específicos: ```bash pre-commit run --files path/to/file.py ``` ### Verificación Automática Los hooks de pre-commit están configurados para ejecutarse automáticamente en cada commit. Si hay errores, el commit será rechazado hasta que se corrijan. ### Ejecutar Herramientas Individuales ```bash # Black black . # isort isort . # flake8 flake8 . # pylint (opcional) pylint --rcfile=.pylintrc # pylint (mandatorio) pylint --rcfile=.pylintrc-mandatory ``` ## Configuración Los archivos de configuración son: - `.pre-commit-config.yaml`: Configuración de pre-commit hooks - `.pylintrc`: Verificaciones opcionales y mandatorias de pylint - `.pylintrc-mandatory`: Solo verificaciones mandatorias - `.flake8`: Configuración de flake8 - `.isort.cfg`: Configuración de isort - `setup.cfg`: Configuración adicional para flake8 e isort - `pyproject.toml`: Configuración de black e isort - `.editorconfig`: Configuración de editor para consistencia ## Actualización de Hooks Para actualizar los hooks a las últimas versiones: ```bash pre-commit autoupdate ``` ## Desactivar Temporalmente Si necesitas hacer un commit sin ejecutar las verificaciones (NO RECOMENDADO): ```bash git commit --no-verify ``` ## Más Información - [OCA Guidelines](https://github.com/OCA/maintainer-tools) - [pre-commit](https://pre-commit.com/) - [pylint-odoo](https://github.com/OCA/pylint-odoo)