X-Git-Url: https://git.llucax.com/software/sercom-old.git/blobdiff_plain/44941ea0c8336d1b0241fc3e09051ef5fe25b1c8..606019a00431114a45885c910f86ed74b2513e14:/src/sc_deliver diff --git a/src/sc_deliver b/src/sc_deliver index 67ec78d..6377f00 100755 --- a/src/sc_deliver +++ b/src/sc_deliver @@ -26,7 +26,7 @@ a su intento %d, recibido el %s. mail['To'] = inscripto.mail mail['Reply-To'] = conf.get('mail', 'admin') mail['Return-Path'] = conf.get('mail', 'admin') - mail['X-Mailer'] = 'sercom 0.3' + mail['X-Mailer'] = 'sercom ' + sercom.VERSION mail['X-Priority'] = '5' smtp = smtplib.SMTP(conf.get('mail', 'smtp')) smtp.sendmail(mail['From'], mail['To'], mail.as_string()) @@ -46,18 +46,27 @@ for entrega in Entrega.getPendientes(conn): for inscripto in Inscripto.selectBy(cursoID=entrega.cursoID, activo=True, connection=conn): log.debug('Procesando inscripto: %s', inscripto) - for intento in Intento.select(sercom.sqlo.AND( - Intento.q.inscriptoID == inscripto.id, Intento.q.entregaID == entrega.id), - orderBy=-Intento.q.numero, connection=conn): + intentos = list(Intento.select( + sercom.sqlo.AND(Intento.q.inscriptoID == inscripto.id, + Intento.q.entregaID == entrega.id), + orderBy=-Intento.q.numero, connection=conn)) + no_entrega = True + for intento in intentos: log.debug('Procesando intento: %s', intento) # Si aprobó las pruebas públicas, está apto para corregir if intento.pruebasPublicasPasadas: correccion = Correccion(entrega=entrega, inscripto=inscripto, intento=intento, docente=1, connection=conn) #XXX Docente dummy notificar(correccion) + no_entrega = False log.info('Intento %d del alumno %d aceptado como entrega final.', intento.numero, inscripto.padron) break + # Si no tiene ningún intento 'entregable', es algo malo. + if intentos and no_entrega: + log.warn('El alumno con padrón %d tiene intentos para la ' \ + 'entrega %d.%d pero ninguno es aceptable', inscripto.padron, + entrega.nroEjercicio, entrega.entrega) log.debug('Entrega finalizada') entrega.finalizada = True