Claro que entiendo, ese no es el problema, lo que no comprendo es ¿por qué no haces nada para depurar el comportamiento de tu script?
Es decir, compartir el código no dice mucho si no sabemos los resultados que da, y mucho menos podemos ejecutarlo mentalmente para ver qué anda mal.
¿Sabes lo qué significa depurar código?