53 lines
1.4 KiB
Python
53 lines
1.4 KiB
Python
# main.py
|
|
|
|
import argparse
|
|
from core.scanner import find_comic_files
|
|
from core.pipeline import Pipeline
|
|
from processors.validator import validate_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:
|
|
res = validate_comic(f)
|
|
print(f"{f} → {res.summary()}")
|
|
print()
|
|
|
|
steps = []
|
|
if args.limpiar or args.estandarizar:
|
|
steps.append("clean")
|
|
if args.convertir or args.estandarizar:
|
|
steps.append("convert")
|
|
|
|
if steps:
|
|
pipeline = Pipeline(steps=steps, desired_format=args.formato)
|
|
for f in comic_files:
|
|
result = pipeline.run(f)
|
|
print(result.summary())
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|