import os
import logging
import pymysql
from dotenv import load_dotenv
from interaccion_planok import fetch_modelos_por_proyecto, fetch_productos_por_proyecto

# Configuración
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
load_dotenv()

DB_CONFIG = {
    "host": os.getenv("DB_HOST"),
    "user": os.getenv("DB_USER"),
    "password": os.getenv("DB_PASSWORD"),
    "database": os.getenv("DB_NAME"),
    "cursorclass": pymysql.cursors.DictCursor,
}

PROYECTOS_ACTIVO_STR = os.getenv("PROYECTOS_ACTIVO", "")
PROYECTOS_ACTIVO = {int(x) for x in PROYECTOS_ACTIVO_STR.split(",") if x.strip().isdigit()}


def main():
    # 🚨 Borrar tablas antes de empezar
    connection = pymysql.connect(**DB_CONFIG)
    with connection:
        with connection.cursor() as cursor:
            cursor.execute("DELETE FROM Modelos")
            cursor.execute("DELETE FROM Productos")
        connection.commit()
    logging.info("Tablas Modelos y Productos vaciadas antes de la inserción.")

    # Iterar por todos los proyectos activos
    for proyecto_id in PROYECTOS_ACTIVO:
        logging.info(f"Procesando proyecto {proyecto_id}...")
        fetch_modelos_por_proyecto(proyecto_id)
        fetch_productos_por_proyecto(proyecto_id)


if __name__ == "__main__":
    main()
