From: Leandro Lucarella Date: Fri, 16 Mar 2007 20:20:06 +0000 (+0000) Subject: Elegir la última entrega realizada como la corregible. X-Git-Tag: 0_9_0~71 X-Git-Url: https://git.llucax.com/software/sercom.git/commitdiff_plain/2a932e9667bb249e7488bf2b4e40701688decbfa?ds=inline Elegir la última entrega realizada como la corregible. Es un poco rebuscado lo de seleccionar la "mejor entrega" para corregir, en realidad lo que el alumno entrega, es lo último que subió, no tiene sentido ponerse a adivinar si el tipo le pifió en la última que subió. --- diff --git a/sercom/finalizer.py b/sercom/finalizer.py index 0f68120..1d79a5a 100644 --- a/sercom/finalizer.py +++ b/sercom/finalizer.py @@ -1,6 +1,6 @@ # vim: set et sw=4 sts=4 encoding=utf-8 foldmethod=marker : -from sercom.model import InstanciaDeEntrega +from sercom.model import InstanciaDeEntrega, Entrega, SQLObjectNotFound from datetime import datetime import logging @@ -53,14 +53,14 @@ def instancia_finalizar(self): #{{{ docentes = [di.docente for di in curso.docentes if di.corrige] curr_docente = 0 for ai in curso.alumnos: - mejor_entrega = None - for entrega in Entrega.selectBy(instancia=self, entregador=ai).orderBy(-Entrega.q.fecha): - if not mejor_entrega or not mejor_entrega.exito and entrega.exito: - mejor_entrega = entrega - if mejor_entrega: - mejor_entrega.make_correccion(docentes[curr_docente]) + try: + e = Entrega.selectBy(instancia=self, entregador=ai) \ + .orderBy(-Entrega.q.fecha) \ + .limit(1) \ + .getOne() + e.make_correccion(docentes[curr_docente]) curr_docente = (curr_docente + 1) % len(docentes) - else: + except SQLObjectNotFound: log.info(_(u'El alumno inscripto %s no entregó', ai)) InstanciaDeEntrega.finalizar = instancia_finalizar