This commit is contained in:
2026-02-18 13:48:27 +01:00
parent f374bdb023
commit e5bf95e4fa
8 changed files with 144 additions and 320 deletions
+13 -24
View File
@@ -1,55 +1,44 @@
# processors/standardizer.py
from processors.validator import validate_comic
from processors.cleaner import clean_comic
from processors.converter import convert_comic
class StandardizeResult:
def __init__(self, original_path):
self.original_path = original_path
def __init__(self, path):
self.path = path
self.cleaned = None
self.converted = None
self.final_path = None
def __str__(self):
msg = f"Estandarización de: {self.original_path}\n"
msg = f"Estandarización de: {self.path}\n"
if self.cleaned:
msg += f" Limpieza: OK ({len(self.cleaned.removed_files)} archivos eliminados)\n"
else:
msg += " Limpieza: no realizada\n"
msg += f" Limpieza: OK ({len(self.cleaned.removed_files)} eliminados)\n"
if self.converted:
if self.converted["needs_conversion"]:
msg += f" Conversión: OK → {self.converted['target_path']}\n"
else:
msg += " Conversión: no necesaria\n"
msg += f" Resultado final: {self.final_path}\n"
return msg
def standardize_comic(path, desired_format="cbz"):
"""
Pipeline básico:
1. Limpiar
2. Convertir
"""
validation = validate_comic(path)
if validation.errors:
raise Exception(f"Archivo corrupto: {path}")
result = StandardizeResult(path)
# 1) Limpiar
clean_result = clean_comic(path)
result.cleaned = clean_result
# El archivo resultante tras limpiar
cleaned_path = clean_result.cleaned_path
# 2) Convertir
convert_result = convert_comic(cleaned_path, desired_format)
convert_result = convert_comic(clean_result.cleaned_path, desired_format)
result.converted = convert_result
# Ruta final
if convert_result["needs_conversion"]:
result.final_path = convert_result["target_path"]
else:
result.final_path = cleaned_path
result.final_path = convert_result["target_path"] if convert_result["needs_conversion"] else clean_result.cleaned_path
return result