if (!$inscripto->getFrom($this->padron)) return 'El alumno no está inscripto';
$inscripto->getLinks();
$cuat = $inscripto->_curso_id->toLine();
+ $this->inscripto = $inscripto;
$this->cuatrimestre = $cuat;
if (!T_chequear_codigo($code, $this->padron, $claves))
return 'La clave de la entrega no es válida';
* Obtiene el directorio base de la entrega.
* El directorio base no contempla los datos propios del intento, como
* padrón e intento.
- * @param base_dir Directorio base, si no se especifica se usa el directorio
- * base del intento.
+ * @param base_dir Directorio base.
*/
function path($base_dir) {
- return "$base_dir/{$this->cuatrimestre}/{$this->ejercicio}-{$this->entrega}/{$this->padron}/{$this->intento}";
+ $curso = $this->inscripto->_curso_id;
+ return "$base_dir/{$curso->anio}.{$curso->cuatrimestre}/"
+ . "{$curso->curso}.{$this->ejercicio}.{$this->entrega}/"
+ . "{$this->padron}.{$this->intento}";
}
}
class BaseSQLObject(SQLObject):
- #@classmethod
+ @classmethod
def by(cls, connection = None, **kw):
try:
return cls.selectBy(connection = connection, **kw)[0]
except IndexError:
raise SQLObjectNotFound, "The object %s with columns %s does not exist" % (cls.__name__, kw)
- by = classmethod(by)
class Curso(BaseSQLObject):
# Clave
# Joins
pruebas = MultipleJoin('Prueba')
- _dir_base = 'intentos'
-
- #@classmethod
+ @classmethod
def getProximoAProbar(cls, connection = None):
try:
- return cls.select(cls.q.inicioPruebas == None, limit=1,
+ return cls.select(cls.q.compila == None, limit=1,
orderBy=cls.q.llegada, connection=connection)[0]
except IndexError:
return None
- getProximoAProbar = classmethod(getProximoAProbar)
def path(self, dir_base):
- import os.path
+ from os.path import join
curso = self.inscripto.curso
entrega = self.entrega
- return os.path.join(dir_base, curso.anio, curso.cuatrimestre,
- curso.curso, '%s.%s' % (entrega.nroEjercicio, entrega.entrega),
- self.inscripto.padron, self.numero)
+ return join(dir_base, '%s.%s' % (curso.anio, curso.cuatrimestre),
+ '%s.%s.%s' % (curso.curso, entrega.nroEjercicio, entrega.entrega),
+ '%s.%s' % (self.inscripto.padron, self.numero))
class Correccion(BaseSQLObject):
# Clave