From 2c809106fee22f48064720dfdf7dbbc29e4b321d Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Sun, 3 Apr 2005 23:25:27 +0000 Subject: [PATCH] Se agrega listado de entregas rechazadas. --- src/sc_suwi | 84 +++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 63 insertions(+), 21 deletions(-) diff --git a/src/sc_suwi b/src/sc_suwi index a6b23bc..be47215 100755 --- a/src/sc_suwi +++ b/src/sc_suwi @@ -52,6 +52,11 @@ def header(req): border: medium black solid; border-collapse: collapse; } + caption + { + margin: 5pt; + font-weight: bold; + } th { border: thin black solid; @@ -270,47 +275,84 @@ def zip(req, entrega_id): os.unlink(tmpfname) def correcciones(req, entrega_id): - def header(): + def correccion_header(): return ''' - - - - - + + + + + + + + + ''' pass - def footer(): - r = '
PadrónPruebasIntentos
Entregas aceptadas
PadrónPruebasIntentos
\n

\n' - r += form(req, 'Elegir curso', input_login(req)) - r += form(req, 'Elegir entrega', input_curso(req, e.curso.id)) - r += form(req, 'Bajar entrega en .zip', input_zip(req, entrega_id)) - r += '

\n' - return r - def row(c): + def correccion_footer(): + return ' \n\n' + def correccion_row(c): if c.intento.pruebasPasadas: pruebas = 'BIEN' elif not c.intento.compila: prubas = None else: pruebas = 'MAL' intentos = int(Intento.selectBy(inscriptoID=c.inscriptoID, entregaID=c.entregaID, connection=conn).count()) return ''' - - %d - %s - %s - + + %d + %s + %s + ''' % (c.inscripto.padron, form(req, pruebas, input_pruebas(req, c.intento.id)), form(req, intentos, input_intentos(req, c.entrega.id, c.inscripto.id))) + def problematico_header(): + return ''' + + + + + + + + +''' + pass + def problematico_footer(): + return ' \n
Entregas rechazadas
PadrónIntentos
\n' + def problematico_row(inscripto, entrega): + intentos = int(Intento.selectBy(inscriptoID=inscripto.id, + entregaID=entrega.id, connection=conn).count()) + return ''' + + %d + %s + +''' % (inscripto.padron, + form(req, intentos, input_intentos(req, entrega.id, inscripto.id))) + def footer(): + r = '

\n' + r += form(req, 'Elegir curso', input_login(req)) + r += form(req, 'Elegir entrega', input_curso(req, e.curso.id)) + r += form(req, 'Bajar entrega en .zip', input_zip(req, entrega_id)) + r += '

\n' + return r e = Entrega.get(entrega_id, connection=conn) c = e.curso r = '

Entrega %d.%d del curso %d-%d-%d

\n' \ % (e.nroEjercicio, e.entrega, c.anio, c.cuatrimestre, c.curso) - r += header() correcciones = list(e.correcciones) correcciones.sort(cmp_correccion_padron) + r += correccion_header() for c in correcciones: - r += row(c) + r += correccion_row(c) + r += correccion_footer() + inscriptos_ok = set([c.inscripto for c in correcciones]) + inscriptos = set([i.inscripto for i in e.intentos]) + r += problematico_header() + for i in inscriptos - inscriptos_ok: + r += problematico_row(i, e) + r += problematico_footer() r += footer() return r -- 2.43.0