# app/cli.py # CLI simple para seleccionar el entrypoint correcto. # Permite: # factuges-sync factuges # factuges-sync verifactu # SYNC_MODE=factuges factuges-sync import argparse import os import subprocess import sys def main(): """Selector de modos de sincronización.""" parser = argparse.ArgumentParser(description="Factuges Sync Dispatcher") parser.add_argument( "mode", nargs="?", choices=["factuges", "verifactu"], help="Modo de sincronización", ) args = parser.parse_args() mode = args.mode or os.getenv("SYNC_MODE") if mode not in ("factuges", "verifactu"): print("Error: debes indicar modo: 'factuges' o 'verifactu'") sys.exit(1) if os.getenv("ENV") == "developement": print("Running in development mode (no docker)") module = ( "app.sync_factuges_main" if mode == "factuges" else "app.sync_verifactu_main" ) # Ejecuta el módulo Python correspondiente subprocess.run([sys.executable, "-m", module], check=True) if __name__ == "__main__": main()