65 lines
1.8 KiB
Python
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()
|