import cgitb; cgitb.enable()
#XXX HORRIBLE
-PASSWD = conf.get('general', 'claves')
+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'
{
border: thin black solid;
padding: 3pt;
- text-align: center;
vertical-align: middle;
}
.warn
def zip_path(path, base, zipfd):
paths = os.listdir(path)
for p in paths:
- if os.path.isdir(p):
+ if os.path.isdir(os.path.join(path, p)):
zip_path(os.path.join(path, p), os.path.join(base, p), zipfd)
else:
zipfd.write(os.path.join(path, p), os.path.join(base, p))
r = '<h1>Entrega %d.%d del curso %d-%d-%d</h1>\n' \
% (e.nroEjercicio, e.entrega, c.anio, c.cuatrimestre, c.curso)
r += header()
- for c in e.correcciones:
+ correcciones = list(e.correcciones)
+ correcciones.sort(cmp_correccion_padron)
+ for c in correcciones:
r += row(c)
r += footer()
return r