import os
import sys
import django
import time as time_module
from datetime import datetime
from django.utils.timezone import now
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ynex.settings')
django.setup()

from app.services.foxQueryService import (
    get_current_campaign,
    is_last_day_of_campaign_id,
    save_foxquery_service,
)

def main():
    print(" Iniciando cron FoxQuery...")

    # 1️ Obtener campaña actual
    campaign = get_current_campaign()
    if not campaign:
        #print(" No se encontró campaña activa para la fecha actual.")
        return

    #print(f" Campaña detectada: {campaign['Number']} (ID={campaign['Id']})")

    # 2️ Verificar si hoy es el último día (EndDateCC)
    is_final_day = is_last_day_of_campaign_id(campaign['Id'])
    if not is_final_day:
        #print(" Hoy no es el último día de la campaña. Cron finaliza.")
        return

    #print(" Hoy es el último día de la campaña. Ejecutando save_foxquery...")

    # 3️ Ejecutar proceso final
    result = save_foxquery_service(campaign['Id'])
    if result:
        print(" save_foxquery ejecutado correctamente.")
    else:
        print(" Falló save_foxquery.")

    print(" Proceso cron finalizado.")


# ------------------------------------------------------------
# Punto de entrada
# ------------------------------------------------------------
if __name__ == "__main__":
    main()
