86 lines
3.3 KiB
Markdown
86 lines
3.3 KiB
Markdown
# comic_manager
|
|
|
|
CLI para escanear y reparar colecciones de cómics en formato CBR/CBZ.
|
|
|
|
## Instalación
|
|
|
|
```bash
|
|
python -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
# Dependencia de sistema para leer archivos RAR:
|
|
sudo apt install unrar
|
|
```
|
|
|
|
## Uso
|
|
|
|
```bash
|
|
python main.py --ruta <directorio> [opciones]
|
|
```
|
|
|
|
`--ruta` es obligatorio. Se puede combinar con uno o más flags de operación.
|
|
|
|
---
|
|
|
|
## Opciones de inspección
|
|
|
|
| Flag | Descripción |
|
|
|------|-------------|
|
|
| `--listar` | Lista todos los ficheros CBR/CBZ encontrados bajo `--ruta`. |
|
|
| `--validar` | Valida cada cómic: detecta extensión incorrecta, ficheros basura, páginas mal numeradas, imágenes de formatos mezclados y ausencia de `ComicInfo.xml`. Solo muestra los cómics con problemas. |
|
|
|
|
---
|
|
|
|
## Operaciones
|
|
|
|
Modifican los ficheros directamente. Se pueden combinar entre sí.
|
|
|
|
Las operaciones que tocan el contenido del archivo piden confirmación por defecto, mostrando una preview de los cambios antes de aplicarlos. Usa `--no-preguntar` para desactivar este comportamiento.
|
|
|
|
| Flag | Descripción | Pide confirmación |
|
|
|------|-------------|-------------------|
|
|
| `--limpiar` | Elimina ficheros basura (`thumbs.db`, `.ds_store`, `__MACOSX`, `desktop.ini`) y reempaqueta como CBZ. | Sí |
|
|
| `--convertir` | Convierte al formato indicado por `--formato` (por defecto CBZ). | No |
|
|
| `--estandarizar` | Equivale a `--limpiar` + `--renumerar` + `--uniformizar-imagenes` + `--convertir` en secuencia. | Sí, salvo para conversión de formato |
|
|
| `--renumerar` | Renombra las páginas a numeración secuencial con zero-padding (`001.jpg`, `002.jpg`…). | Sí |
|
|
| `--uniformizar-imagenes` | Solo actúa si el archivo contiene imágenes en **formatos mixtos**. Si todas las imágenes ya son del mismo formato no hace nada, aunque no coincidan con `--formato-imagen`. | Sí |
|
|
| `--convertir-imagenes` | Convierte todas las imágenes que no sean `--formato-imagen`, independientemente de si los formatos ya son uniformes. | Sí |
|
|
|
|
### Opciones de formato
|
|
|
|
| Flag | Valores | Por defecto | Descripción |
|
|
|------|---------|-------------|-------------|
|
|
| `--formato` | `cbz`, `cbr` | `cbz` | Formato de archivo destino para `--convertir` y `--estandarizar`. |
|
|
| `--formato-imagen` | `jpg`, `png`, `webp` | `png` | Formato de imagen destino para `--uniformizar-imagenes` y `--convertir-imagenes`. |
|
|
| `--no-preguntar` | — | — | Desactiva la confirmación interactiva: aplica todas las operaciones automáticamente. |
|
|
|
|
---
|
|
|
|
## Ejemplos
|
|
|
|
```bash
|
|
# Ver qué cómics hay en la colección
|
|
python main.py --ruta ~/Comics --listar
|
|
|
|
# Revisar problemas sin modificar nada
|
|
python main.py --ruta ~/Comics --validar
|
|
|
|
# Limpiar basura (pide confirmación por cada cómic)
|
|
python main.py --ruta ~/Comics --limpiar
|
|
|
|
# Limpiar basura sin preguntar (modo automático)
|
|
python main.py --ruta ~/Comics --limpiar --no-preguntar
|
|
|
|
# Limpiar y convertir todo a CBZ (pide confirmación para la limpieza)
|
|
python main.py --ruta ~/Comics --estandarizar
|
|
|
|
# Convertir todo a CBZ sin confirmación
|
|
python main.py --ruta ~/Comics --convertir
|
|
|
|
# Renumerar páginas de todos los cómics (pide confirmación)
|
|
python main.py --ruta ~/Comics --renumerar
|
|
|
|
# Convertir imágenes a WebP (pide confirmación)
|
|
python main.py --ruta ~/Comics --uniformizar-imagenes --formato-imagen webp
|
|
```
|