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

65 lines
1.8 KiB
Python

# main.py
import argparse
from core.scanner import find_comic_files
from processors.validator import validate_comic
from processors.cleaner import clean_comic
from processors.converter import convert_comic
from processors.standardizer import standardize_comic
def parse_args():
parser = argparse.ArgumentParser(description="Gestor de cómics CBR/CBZ")
parser.add_argument("--ruta", required=True)
parser.add_argument("--listar", action="store_true")
parser.add_argument("--validar", action="store_true")
parser.add_argument("--limpiar", action="store_true")
parser.add_argument("--convertir", action="store_true")
parser.add_argument("--estandarizar", action="store_true")
parser.add_argument("--formato", choices=["cbz", "cbr"], default="cbz")
return parser.parse_args()
def main():
args = parse_args()
comic_files = find_comic_files(args.ruta)
if args.listar:
for f in comic_files:
print(f)
if args.validar:
for f in comic_files:
print(f"Validando: {f}")
print(validate_comic(f))
print()
if args.limpiar:
for f in comic_files:
print(f"Limpieza: {f}")
print(clean_comic(f))
print()
if args.convertir:
for f in comic_files:
print(f"Convirtiendo: {f}")
info = convert_comic(f, args.formato)
if info["needs_conversion"]:
print(f" → Convertido a {args.formato.upper()}: {info['target_path']}")
else:
print(f" → Sin cambios (ya era {args.formato.upper()})")
print()
if args.estandarizar:
for f in comic_files:
print(f"Estandarizando: {f}")
print(standardize_comic(f, args.formato))
print()
if __name__ == "__main__":
main()