Files
comic-manager/processors/standardizer.py
T
2026-02-18 13:48:27 +01:00

45 lines
1.3 KiB
Python

# 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