X-Git-Url: https://git.llucax.com/software/sercom.git/blobdiff_plain/4b7437a8033c0bc66eae8be038000a86dc54c35b..c567c47ea9e62301e773d9daca5c1dee4c26fff7:/sercom/finalizer.py?ds=sidebyside diff --git a/sercom/finalizer.py b/sercom/finalizer.py index 1075cf6..1d79a5a 100644 --- a/sercom/finalizer.py +++ b/sercom/finalizer.py @@ -1,6 +1,7 @@ # 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 log = logging.getLogger('sercom.finalizer') @@ -52,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