# 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, path): self.path = path self.cleaned = None self.converted = None self.final_path = None def __str__(self): msg = f"Estandarización de: {self.path}\n" if self.cleaned: 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"): validation = validate_comic(path) if validation.errors: raise Exception(f"Archivo corrupto: {path}") result = StandardizeResult(path) clean_result = clean_comic(path) result.cleaned = clean_result convert_result = convert_comic(clean_result.cleaned_path, desired_format) result.converted = convert_result result.final_path = convert_result["target_path"] if convert_result["needs_conversion"] else clean_result.cleaned_path return result