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)
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)
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)
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)
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
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))
def de_curso(self, curso_id): c = Curso.get(curso_id) e = Enunciado.selectByCurso(c) return dict(enunciados=e)
def get_cursos(): return [(0, u'---')] + [(c.id, c) for c in Curso.select()]
def list(self, cursoID): curso = Curso.get(cursoID) r = cls.selectBy(curso=curso) return dict(records=r, name=name, namepl=namepl, curso=curso)
def check_curso(data): c = Curso.get(data['cursoID']) del data['cursoID'] data['curso'] = c return c
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))
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))
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))