]> git.llucax.com Git - software/sercom.git/blobdiff - sercom/model.py
Agregar método Entrega.make_correccion().
[software/sercom.git] / sercom / model.py
index 533fac947d2384e4ae6142c9c59e5858a0459b66..41c4ced51a6844f91198351cc1e331ed5080c5c5 100644 (file)
@@ -345,17 +345,27 @@ class Comando(InheritableSQLObject): #{{{
     max_locks_memoria   = IntCol(default=None)
     terminar_si_falla   = BoolCol(notNone=True, default=True)
     rechazar_si_falla   = BoolCol(notNone=True, default=True)
+    publico             = 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.
+                                                # comandos que tiene algún
+                                                # archivo de entrada (incluyendo
+                                                # stdin) con los propios, se usa
+                                                # el archivo del caso de prueba,
+                                                # no del comando.
     archivos_a_comparar = BLOBCol(default=None) # ZIP con archivos de salida
                                                 # __stdout__, __stderr__ y
                                                 # __stdouterr__ (ambos juntos)
                                                 # son casos especiales
-    archivos_a_guardar  = TupleCol(notNone=True, default=()) # TODO SetCol
+                                                # Si un caso de prueba tiene
+                                                # comandos que tiene algún
+                                                # archivo a comparar (incluyendo
+                                                # stdout/err) con los propios,
+                                                # se compara contra el archivo
+                                                # del caso de prueba, no del
+                                                # comando.
+    archivos_a_guardar  = TupleCol(notNone=True, default=()) # TODO FrozenSetCol
                                                 # __stdout__, __stderr__ y
                                                 # __stdouterr__ (ambos juntos)
                                                 # son casos especiales
@@ -468,7 +478,7 @@ class CasoDePrueba(Comando): #{{{
     pruebas             = MultipleJoin('Prueba')
 
     def __repr__(self):
-        return super(ComandoFuente, self).__repr__('enunciado=%s, nombre=%s'
+        return super(CasoDePrueba, self).__repr__('enunciado=%s, nombre=%s'
             % (srepr(self.enunciado), self.nombre))
 
     def shortrepr(self):
@@ -732,7 +742,7 @@ class Miembro(SQLObject): #{{{
 
 class Ejecucion(InheritableSQLObject): #{{{
     # Campos
-    inicio          = DateTimeCol(notNone=True, default=DateTimeCol.now)
+    inicio          = DateTimeCol(default=None)
     fin             = DateTimeCol(default=None)
     exito           = IntCol(default=None)
     observaciones   = UnicodeCol(notNone=True, default=u'')
@@ -773,6 +783,10 @@ class Entrega(Ejecucion): #{{{
         # FIXME self.id, caso_de_prueba
         Prueba.pk.get(self.id, caso_de_prueba).destroySelf()
 
+    def make_correccion(self, corrector, **kw):
+        return Correccion(instancia=self.instancia, entregador=self.entregador,
+            entrega=self, corrector=corrector, **kw)
+
     def __repr__(self):
         return super(Entrega, self).__repr__('instancia=%s, entregador=%s, '
             'fecha=%s' % (self.instancia.shortrepr(), srepr(self.entregador),
@@ -818,7 +832,7 @@ class ComandoEjecutado(Ejecucion): #{{{
     diferencias = BLOBCol(default=None) # ZIP con archivos guardados
 
     def __repr__(self, clave='', mas=''):
-        return super(ComandoFuenteEjecutado, self).__repr__(clave, mas)
+        return super(ComandoEjecutado, self).__repr__(clave, mas)
 #}}}
 
 class ComandoFuenteEjecutado(ComandoEjecutado): #{{{