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 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 _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 create(self, **kw): """Save or create record to model""" t = Enunciado.get(kw['enunciadoID']) del(kw['enunciadoID']) if kw['los_archivos_entrada'].filename: kw['archivos_entrada'] = kw['los_archivos_entrada'].file.read() del kw['los_archivos_entrada'] if kw['los_archivos_a_comparar'].filename: kw['archivos_a_comparar'] = kw['los_archivos_a_comparar'].file.read() del kw['los_archivos_a_comparar'] # TODO : Hacer ventanita mas amigable para cargar esto. try: kw['archivos_a_guardar'] = tuple(kw['archivos_guardar'].split(',')) except AttributeError: pass del kw['archivos_guardar'] nombre = kw['nombre']; del kw['nombre'] t.add_caso_de_prueba(nombre, **kw) flash(_(u'Se creĆ³ un nuevo %s.') % name) raise redirect('list/%d' % t.id)
def de_curso(self, curso_id): c = Curso.get(curso_id) e = Enunciado.selectByCurso(c) return dict(enunciados=e)