X-Git-Url: https://git.llucax.com/software/sercom.git/blobdiff_plain/6c70122e06524e163db47413e7a1719feb83c29c..6ca6b9262065d09fb7901e96a718321108af4171:/sercom/model.py diff --git a/sercom/model.py b/sercom/model.py index 5e6ec2a..cff6afd 100644 --- a/sercom/model.py +++ b/sercom/model.py @@ -281,8 +281,6 @@ class Tarea(InheritableSQLObject): #{{{ nombre = UnicodeCol(length=30, alternateID=True) # Campos descripcion = UnicodeCol(length=255, default=None) - terminar_si_falla = BoolCol(notNone=True, default=True) - rechazar_si_falla = BoolCol(notNone=True, default=True) # Joins enunciados = RelatedJoin('Enunciado', addRemoveName='_enunciado') @@ -349,6 +347,10 @@ class Comando(InheritableSQLObject): #{{{ rechazar_si_falla = BoolCol(notNone=True, default=True) archivos_entrada = BLOBCol(default=None) # ZIP con archivos de entrada # __stdin__ es caso especial + # Si un caso de prueba tiene + # comandos con stdin y el caso + # de prueba también tiene stdin + # se usa el stdin del comando. archivos_a_comparar = BLOBCol(default=None) # ZIP con archivos de salida # __stdout__, __stderr__ y # __stdouterr__ (ambos juntos) @@ -401,7 +403,7 @@ class ComandoPrueba(Comando): #{{{ pk = DatabaseIndex(tarea, orden, unique=True) def __repr__(self): - return super(ComandoFuente, self).__repr__('tarea=%s, orden=%s' + return super(ComandoPrueba, self).__repr__('tarea=%s, orden=%s' % (self.tarea.shortrepr(), self.orden)) def shortrepr(self): @@ -648,7 +650,7 @@ class Grupo(Entregador): #{{{ @classmethod def selectByAlumno(self, alumno): return Miembro.select(AND(Miembro.q.alumnoID == AlumnoInscripto.q.id, - AlumnoInscripto.q.alumnoID == alumno.id)) + AlumnoInscripto.q.alumnoID == alumno.id, Miembro.q.baja == None)) def shortrepr(self): return 'grupo:' + self.nombre @@ -668,6 +670,10 @@ class AlumnoInscripto(Entregador): #{{{ membresias = MultipleJoin('Miembro', joinColumn='alumno_id') entregas = MultipleJoin('Entrega', joinColumn='alumno_id') correcciones = MultipleJoin('Correccion', joinColumn='alumno_id') + # Notas de la cursada + nota_practica = DecimalCol(size=3, precision=1, default=None) + nota_final = DecimalCol(size=3, precision=1, default=None) + nota_libreta = DecimalCol(size=3, precision=1, default=None) def _get_nombre(self): return self.alumno.padron @@ -828,7 +834,7 @@ class ComandoFuenteEjecutado(ComandoEjecutado): #{{{ self.entrega.shortrepr())) def shortrepr(self): - return '%s-%s' % (self.tarea.shortrepr(), self.entrega.shortrepr()) + return '%s-%s' % (self.comando.shortrepr(), self.entrega.shortrepr()) #}}} class ComandoPruebaEjecutado(ComandoEjecutado): #{{{