X-Git-Url: https://git.llucax.com/z.facultad/75.52/sercom.git/blobdiff_plain/e3d9da6e7709e72c31a7b0a4d4209b0e7884344a..1013c167ae4a4d891572b0eadbe4e31008f14ad6:/sercom/model.py diff --git a/sercom/model.py b/sercom/model.py index a65b03a..a99995f 100644 --- a/sercom/model.py +++ b/sercom/model.py @@ -476,31 +476,17 @@ class Enunciado(SQLObject): #{{{ return self.nombre #}}} -class CasoDePrueba(SQLObject): #{{{ +class CasoDePrueba(Comando): #{{{ # Clave enunciado = ForeignKey('Enunciado', cascade=True) nombre = UnicodeCol(length=40, notNone=True) pk = DatabaseIndex(enunciado, nombre, unique=True) - # Campos - descripcion = UnicodeCol(length=255, default=None) - terminar_si_falla = BoolCol(notNone=True, default=False) - rechazar_si_falla = BoolCol(notNone=True, default=True) - parametros = ParamsCol(length=255, default=None) - retorno = IntCol(default=None) - tiempo_cpu = FloatCol(default=None) - archivos_entrada = BLOBCol(default=None) # ZIP con archivos de entrada - # stdin es caso especial - archivos_salida = BLOBCol(default=None) # ZIP con archivos de salida - # stdout y stderr son especiales - activo = BoolCol(notNone=True, default=True) # Joins pruebas = MultipleJoin('Prueba') def __repr__(self): - return 'CasoDePrueba(enunciado=%s, nombre=%s, parametros=%s, ' \ - 'retorno=%s, tiempo_cpu=%s, descripcion=%s)' \ - % (srepr(self.enunciado), self.nombre, self.parametros, - self.retorno, self.tiempo_cpu, self.descripcion) + return super(ComandoFuente, self).__repr__('enunciado=%s, nombre=%s' + % (srepr(self.enunciado), self.nombre)) def shortrepr(self): return '%s:%s' % (self.enunciado.shortrepr(), self.nombre) @@ -756,6 +742,7 @@ class Entrega(SQLObject): #{{{ pk = DatabaseIndex(instancia, entregador, fecha, unique=True) # Campos archivos = BLOBCol(notNone=True) # ZIP con fuentes de la entrega + archivos_nombre = UnicodeCol(length=255) correcta = BoolCol(default=None) # None es que no se sabe qué pasó inicio_tareas = DateTimeCol(default=None) # Si es None no se procesó fin_tareas = DateTimeCol(default=None) # Si es None pero inicio no, se está procesando