46 lines
1.1 KiB
Python
46 lines
1.1 KiB
Python
# 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") == "dev":
|
|
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()
|