"""x7_clear.py
Script de limpieza para eliminar todos los artefactos generados por x0_main.py.

Este script actúa como envoltorio del método `clear_generated_outputs` definido
en `x0_main.py`. De esta forma, la lógica de eliminación se mantiene en un solo
lugar y se adapta automáticamente a futuros cambios en la estructura de
salidas de x0.
"""

import argparse
import sys

# Importar la función de limpieza desde x0_main.py
from x0_main import clear_generated_outputs  # noqa: E402 – import absoluto intencional


def main() -> None:
    parser = argparse.ArgumentParser(
        description="Elimina los archivos generados por x0_main.py (JSON, SCL, MD, logs)."
    )
    parser.add_argument(
        "--plc-dir",
        dest="plc_dir",
        default=None,
        help=(
            "Ruta de un PLC específico a limpiar. Si se omite, se limpiarán "
            "todos los PLCs detectados bajo el working_directory definido en la configuración."
        ),
    )

    args = parser.parse_args()

    success = clear_generated_outputs(args.plc_dir)
    # Salir con 0 si todo fue bien, 1 en caso de errores
    sys.exit(0 if success else 1)


if __name__ == "__main__":
    main() 