import os
import shutil
from datetime import datetime

def backup_y_copiar(origen, destino):
    if os.path.isfile(destino):
        ts = datetime.now().strftime("%Y%m%d_%H%M%S")
        shutil.copy2(destino, destino + f".bak_{ts}")

    shutil.copy2(origen, destino)


def aplicar_configuracion(omsi_root, mapas, humans=None, drivers=None):
    resultados = []

    for mapa in mapas:
        mapa_path = os.path.join(omsi_root, "maps", mapa)
        try:
            if humans:
                backup_y_copiar(humans, os.path.join(mapa_path, "humans.txt"))

            if drivers:
                backup_y_copiar(drivers, os.path.join(mapa_path, "drivers.txt"))

            resultados.append((mapa, True, "OK"))

        except Exception as e:
            resultados.append((mapa, False, str(e)))

    return resultados
