Consulta función fn682

69 views
Skip to first unread message

Francisca Alejandra Ibarra Morales

unread,
Aug 31, 2023, 10:34:34 AM8/31/23
to Foro Desarrolladores - Libro de clases digital (LCD)
Estimados,

Una duda respecto a una parte del código de la función fn682, que verifica estudiantes de educación dual:

Después de la consulta _S6, en el código existe una función auxiliar que calcula las fechas en un rango:

if(len(_q6) != 0):
    for xx in _q6:
        fecha_inicio = str(
            xx[0])
        fecha_termino = str(
            xx[1])
        if fecha_fin < fecha_termino:
            fecha_ter_x = fecha_fin
        else:
            fecha_ter_x = fecha_termino
        if (fecha_entrada > fecha_inicio):
            arr = ListaFechasRango(
                fecha_inicio, fecha_ter_x, conn)
        else:
            arr = ListaFechasRango(
                fecha_entrada, fecha_ter_x, conn)

Un ejemplo del array resultante (de la variable arr) se ve así (array dentro de una lista):
[array(['2023-01-01', '2023-01-02', '2023-03-08', '2023-04-07'], dtype='<U10')]

Por lo que la línea que sigue, donde se itera en un for sobre los elementos de "arr", en vez de tomar cada fecha por separado, toma el array interior completo, así:
['2023-01-01', '2023-01-02', '2023-03-08', '2023-04-07']

Lo que hace que el código presente un error cuando se hace el parsing de las fechas ya que no está tomando cada fecha de forma individual, sino que toma el array completo y por ende el formato que entra a la función:

fechaxx3 = datetime.strptime(
    fechaxx2[1:11], '%Y-%m-%d')

Es incorrecto, lanzando el error: "NO se pudo ejecutar la consulta de entrega de información: time data "'2023-01-0" does not match format '%Y-%m-%d'"

¿Esto es un error del código el test? ¿O estamos procesando mal la información de la consulta S6?

Saludos,



Foro Desarrolladores - Libro de clases digital (LCD)

unread,
Aug 31, 2023, 10:42:00 AM8/31/23
to Foro Desarrolladores - Libro de clases digital (LCD), Francisca Alejandra Ibarra Morales
Por favor para cambios de código, enviar los cambios vía pull request al repositorio oficial, así queda registro público y es más fácil probar y subir los cambios.
En el cuerpo (descripción) del Pull request enviar la descripción del error y los casos en que causa problemas.

Recordar que el repositorio oficial de las validaciones es https://github.com/Admin-EDE/DockerEdeCode/pulls

Y el repositorio que contiene el servidor web se encuentra en https://github.com/Admin-EDE/EdeCodeRestAPI (Aunque para pasar a producción los cambios en esta plataforma se tarda bastante más tiempo, e implica pruebas mucho más rigurosas)

Esto es un comentario general, para cualquier cambio, se verá más rápidamente si se envía el pull request.

Además mencionar que estamos en una constante búsqueda de mejoras hacia la comunidad educativa y estamos abiertos a propuestas de mejoras.
Finalmente, insistir que cualquier cambio formal se hará vía los medios oficiales, y mecanismos formales.

Saludos.
Reply all
Reply to author
Forward
Message has been deleted
0 new messages