#XXX HORRIBLE
PASSWD = conf.get('general', 'cgipw')
-def cmp_correccion_padron(e1, e2):
- 'Compara 2 entregas, según el padrón del alumno.'
- return cmp(e1.inscripto.padron, e2.inscripto.padron)
-
def http_header_html(req):
return 'Content-type: text/html\r\n\r\n'
r = '</table>\n<p>\n'
r += form(req, 'Volver', input_entrega(req, i.entrega.id)
+ input_inscripto(req, inscripto_id))
+ #XXX Hack feo y muy hardcodeado para ver los fuentes (morirá con suwi)
+ r += '<a href="/intentos/%s.%s/%s.%s.%s/%s.%s/">ver fuentes</a></p>' \
+ % (i.inscripto.curso.anio, i.inscripto.curso.cuatrimestre,
+ i.inscripto.curso.curso, i.entrega.nroEjercicio, i.entrega.entrega,
+ i.inscripto.padron, i.numero)
r += '</p>\n'
return r
def row(p):
''' % (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():
+ def rechazado_header():
return '''<table>
<caption>Entregas rechazadas</caption>
<thead>
<tbody>
'''
pass
- def problematico_footer():
+ def rechazado_footer():
return ' </tbody>\n</table>\n'
- def problematico_row(inscripto, entrega):
+ def rechazado_row(inscripto, entrega):
intentos = int(Intento.selectBy(inscriptoID=inscripto.id,
entregaID=entrega.id, connection=conn).count())
return '''
r = '<h1>Entrega %d.%d del curso %d-%d-%d</h1>\n' \
% (e.nroEjercicio, e.entrega, c.anio, c.cuatrimestre, c.curso)
correcciones = list(e.correcciones)
- correcciones.sort(cmp_correccion_padron)
+ # Ordena comparando padron
+ correcciones.sort(lambda x, y: cmp(x.inscripto.padron, y.inscripto.padron))
r += correccion_header()
for c in correcciones:
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()
+ r += rechazado_header()
for i in inscriptos - inscriptos_ok:
- r += problematico_row(i, e)
- r += problematico_footer()
+ r += rechazado_row(i, e)
+ r += rechazado_footer()
r += footer()
return r