-class Enunciado(SQLObject, ByObject): #{{{
- class sqlmeta:
- createSQL = r'''
-CREATE TABLE enunciado_tarea (
- enunciado_id INTEGER NOT NULL CONSTRAINT enunciado_id_exists
- REFERENCES enunciado(id),
- tarea_id INTEGER NOT NULL CONSTRAINT tarea_id_exists
- REFERENCES tarea(id),
- orden INT,
- PRIMARY KEY (enunciado_id, tarea_id)
-)'''
+class ComandoFuente(Comando): #{{{
+ # Clave
+ 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): #{{{