+ tarea = ForeignKey('TareaFuente', notNone=True, cascade=True)
+ orden = IntCol(notNone=True)
+ pk = DatabaseIndex(tarea, orden, unique=True)
+ # Campos
+ tiempo_cpu = FloatCol(default=None)
+
+ def ejecutar(self): pass # TODO
+
+ def __repr__(self):
+ return 'ComandoFuente(tarea=%s, orden=%s, comando=%s, descripcion=%s, ' \
+ 'retorno=%s, tiempo_cpu=%s, terminar_si_falla=%s, ' \
+ 'rechazar_si_falla=%s)' \
+ % (srepr(self.tarea), self.orden, self.comando, self.descripcion,
+ self.retorno, self.tiempo_cpu, self.terminar_si_falla,
+ self.rechazar_si_falla)
+#}}}
+
+class ComandoPrueba(Comando): #{{{
+ # Clave
+ tarea = ForeignKey('TareaPrueba', notNone=True, cascade=True)
+ orden = IntCol(notNone=True)
+ pk = DatabaseIndex(tarea, orden, unique=True)
+ # Campos
+ multipl_tiempo_cpu = FloatCol(notNone=True, default=1.0)
+
+ def ejecutar(self): pass # TODO
+
+ def __repr__(self):
+ return 'ComandoPrueba(tarea=%s, orden=%s, comando=%s, descripcion=%s, ' \
+ 'retorno=%s, tiempo_cpu=%s, terminar_si_falla=%s, ' \
+ 'rechazar_si_falla=%s)' \
+ % (srepr(self.tarea), self.orden, self.comando, self.descripcion,
+ self.retorno, self.tiempo_cpu, self.terminar_si_falla,
+ self.rechazar_si_falla)
+#}}}
+
+class Enunciado(SQLObject): #{{{
+ # Clave
+ nombre = UnicodeCol(length=60)
+ anio = IntCol(notNone=True)
+ cuatrimestre = IntCol(notNone=True)
+ pk = DatabaseIndex(nombre, anio, cuatrimestre, unique=True)