Example #1
0
 def new(self, curso, **kw):
     """Create new records in model"""
     kw['cursoID'] = curso
     curso = Curso.get(curso)
     options = { fkname+'ID': [(e.id, '%d.%d - %s' % (e.anio, e.cuatrimestre ,e.nombre)) for e in
         Enunciado.select().orderBy((-Enunciado.q.anio, -Enunciado.q.cuatrimestre))] }
     return dict(name=name, namepl=namepl, form=form, values=kw, options=options)
Example #2
0
 def edit(self, id, **kw):
     """Edit record in model"""
     r = validate_get(id)
     curso = Curso.get(r.cursoID)
     options = { fkname+'ID': [(e.id, '%d.%d - %s' % (e.anio, e.cuatrimestre ,e.nombre)) for e in
         Enunciado.select().orderBy((-Enunciado.q.anio, -Enunciado.q.cuatrimestre))] }
     return dict(name=name, namepl=namepl, record=r, form=form, options=options)
Example #3
0
 def from_file_add(self, id, archivo):
     """ Se espera :
          padron,nombre,email,telefono
     """
     import csv
     lines = archivo.file.read().split('\n')
     ok = []
     fail = []
     curso = Curso.get(int(id))
     for line in lines:
         for row in csv.reader([line]):
             if row == []:
                 continue
             try:
                 u = Alumno(row[0], nombre=row[1], roles=[Rol.by_nombre('alumno')])
             except:
                 u = Alumno.byPadron(row[0])
             try:
                 u.email = row[2]
                 u.telefono = row[3]
                 u.password = row[0]
                 u.activo = True
                 curso.add_alumno(u)
                 ok.append(row)
             except Exception, e:
                 row.append(str(e))
                 fail.append(row)
Example #4
0
 def list(self, cursoID = 0):
     """List records in model"""
     cursoID = int(cursoID)
     if cursoID == 0:
         raise redirect('..')
     else:
         r = cls.select(cls.q.cursoID == cursoID)
     curso = Curso.get(cursoID)
     return dict(records=r, name=name, namepl=namepl, curso=curso, limit_to=identity.current.user.paginador)
Example #5
0
    def _crear_ejercicio(self):
        # Roles
        r1 = Rol(nombre='admin', permisos=())
#        r1.permisos = (Permiso.entregar_tp,Permiso.admin)
        r2 = Rol(nombre='alumno', permisos=())
#        r2.permisos = (Permiso.entregar_tp)


        # Usuarios
        d = Docente(usuario='luca', nombre=u'Leandro Lucarella', password='******',
            email='*****@*****.**', telefono='4554-1554', roles=[r1], activo=True)
        a = Alumno(padron='77891', nombre='Tito Puente', password='******', roles=[r2])

        # Tareas y comandos
        tf = TareaFuente(nombre='Compilar C con Makefile')
        com_f = tf.add_comando(1, 'make', retorno=0, max_cant_archivos=15,
            max_cant_procesos=200, terminar_si_falla=True, rechazar_si_falla=True,
            archivos_a_guardar=('__stdouterr__',),
            descripcion='Compila un programa en C con make ' \
            'sin usar un Makefile (debe ser un solo archivo que se llame tito.c)')
        tp = TareaPrueba(nombre='Probar')
        com_p = tp.add_comando(1, retorno=ComandoPrueba.RET_PRUEBA, terminar_si_falla=True,
            rechazar_si_falla=True, descripcion='Prueba normalmente, sin filtros')

        # Enunciados
        e = Enunciado(nombre=u'Un enunciado', anio=2007, cuatrimestre=1, autor=d,
            descripcion=u'descripcion', tareas=(tf, tp))

        # Casos de prueba
        cp = e.add_caso_de_prueba(nombre=u'prueba', retorno=0,
            descripcion=u'Un caso', comando='./tp')

        # Cursos
        c = Curso(anio=2007, cuatrimestre=1, numero=1, descripcion=u'Martes')
        c.add_docente(d)
        c.add_alumno(a)
        ej = c.add_ejercicio(1,e)
        return ej
Example #6
0
 def list(self, curso):
     """List records in model"""
     r = cls.selectBy(cursoID=curso)
     return dict(records=r, name=name, namepl=namepl.capitalize(), curso=Curso.get(curso))
Example #7
0
 def de_curso(self, curso_id):
     c = Curso.get(curso_id)
     e = Enunciado.selectByCurso(c)
     return dict(enunciados=e)
Example #8
0
def get_cursos():
    return [(0, u'---')] + [(c.id, c) for c in Curso.select()]
Example #9
0
 def list(self, cursoID):
     curso = Curso.get(cursoID)
     r = cls.selectBy(curso=curso)
     return dict(records=r, name=name, namepl=namepl, curso=curso)
Example #10
0
def check_curso(data):
    c = Curso.get(data['cursoID'])
    del data['cursoID']
    data['curso'] = c
    return c
Example #11
0
 def new(self, cursoID, **kw):
     """Create new records in model"""
     form.fields[0].attrs['value'] = cursoID
     return dict(name=name, namepl=namepl, form=form, values=kw, curso=Curso.get(cursoID))
Example #12
0
 def list(self, cursoID):
     """List records in model"""
     r = cls.select(cls.q.cursoID==cursoID)
     return dict(records=r, name=name, namepl=namepl, curso=Curso.get(cursoID))
Example #13
0
 def list(self, curso):
     """List records in model"""
     r = cls.selectBy(cursoID=curso).orderBy(cls.q.numero)
     return dict(records=r, name=name, namepl=namepl, curso=Curso.get(curso))