def delClase(id_clase): ''' Elimina la clase que se especifica con el identificador pasado, en caso de exisitir en el sistema. curl -i -X DELETE localhost:8002/clases/1 ''' salida = GestorClases.delClase(id_clase) if salida=="Elemento no encontrado": abort(404) else: return str(salida)
def delClase(id_clase): ''' Elimina la clase que se especifica con el identificador pasado, en caso de exisitir en el sistema. curl -i -X DELETE localhost:8002/clases/1 ''' salida = GestorClases.delClase(id_clase) if salida == "Elemento no encontrado": abort(404) else: return str(salida)
def getAsociacionesClase(id_clase): ''' Devuelve una lista con las asociaciones de clase-asignatura que se imparten a una clase concreta. Estas entindades son distintas de las asignaturas que se imparten en las clases ya que estas nos llevan a las asignaturas en general y las asociaciones son una especificación de la asignatura para una clase concreta. curl -i -X GET localhost:8002/clases/1/asociaciones ''' return jsonpickle.encode(GestorClases.getAsociaciones(id_clase))
def getClase(id_clase): ''' Devuelve toda la información sobre la clase que se pasa el id. curl -i -X GET localhost:8002/clases/1 ''' salida = GestorClases.getClase(id_clase) if salida == "Elemento no encontrado": #Enviamos el error de NotFound abort(404) else: return jsonpickle.encode(salida)
def getClase(id_clase): ''' Devuelve toda la información sobre la clase que se pasa el id. curl -i -X GET localhost:8002/clases/1 ''' salida=GestorClases.getClase(id_clase) if salida=="Elemento no encontrado": #Enviamos el error de NotFound abort(404) else: return jsonpickle.encode(salida)
def postCurso(): ''' Inserta una nueva clase en el sistema. curl -d "id=" -i -X POST localhost:8002/clases ''' if 'id' in request.form: salida = GestorClases.nuevoCurso(request.form['id'],request.form['curso'], request.form['grupo'], request.form['nivel']) if salida == 'OK': return 'OK' else: abort(404) else: abort(404)
def postClase(): ''' Inserta una nueva clase en el sistema. curl -d "curso=3&grupo=C&nivel=ESO" -i -X POST localhost:8002/clases ''' salida = GestorClases.nuevaClase(request.form['curso'], request.form['grupo'], request.form['nivel']) if salida['status'] == 'OK': #Una vez insertada la asignatura en el SBD llamamos al servicio SCE para que actualice su sistema (### DISPARADOR ###) #Conformamos la dirección: module = modules.get_current_module_name() url = "http://%s/" % modules.get_hostname(module="sce") #Añadimos el servicio al que queremos conectarnos. url += "clases" #Componemos el nombre como un solo string nombreClase = request.form['curso'] + request.form[ 'grupo'] + request.form['nivel'] print nombreClase #Creamos un diccionario con los datos. datos = { "idClase": salida['idClase'], "nombreClase": nombreClase, } form_data = urllib.urlencode(datos) result = urlfetch.fetch(url=url, payload=form_data, method=urlfetch.POST) print result.content json = jsonpickle.decode(result.content) print 'AQUIIIIIIIIIIIIIIIIIIIIII' print json['status'] if json['status'] != 'OK': salida['status'] = 'SCE ERROR' if v: print ' Return: ' + str(salida) return jsonpickle.encode(salida)
def modClaseCompleta(id_clase): ''' Función que modifica los atributos de una clase completa dada su identificación curl -d "curso=1&grupo=B&nivel=ESO" -i -X POST localhost:8002/clases/1 ''' if v: print 'Calling GestorClases.modClaseCompleta()' #El id del alumno se pasa por la URL salida = GestorClases.modClaseCompleta(id_clase, request.form['curso'], request.form['grupo'], request.form['nivel']); if v: print "SALIDA: "+str(salida) if salida == 'OK': return 'OK' else: return salida
def modClaseCompleta(id_clase): ''' Función que modifica los atributos de una clase completa dada su identificación curl -d "curso=1&grupo=B&nivel=ESO" -i -X POST localhost:8002/clases/1 ''' if v: print 'Calling GestorClases.modClaseCompleta()' #El id del alumno se pasa por la URL salida = GestorClases.modClaseCompleta(id_clase, request.form['curso'], request.form['grupo'], request.form['nivel']) if v: print "SALIDA: " + str(salida) if salida == 'OK': return 'OK' else: return salida
def postClase(): ''' Inserta una nueva clase en el sistema. curl -d "curso=3&grupo=C&nivel=ESO" -i -X POST localhost:8002/clases ''' salida = GestorClases.nuevaClase(request.form['curso'], request.form['grupo'], request.form['nivel']) if salida['status'] == 'OK': #Una vez insertada la asignatura en el SBD llamamos al servicio SCE para que actualice su sistema (### DISPARADOR ###) #Conformamos la dirección: module = modules.get_current_module_name() url = "http://%s/" % modules.get_hostname(module="sce") #Añadimos el servicio al que queremos conectarnos. url+="clases" #Componemos el nombre como un solo string nombreClase = request.form['curso']+request.form['grupo']+request.form['nivel'] print nombreClase #Creamos un diccionario con los datos. datos = { "idClase": salida['idClase'], "nombreClase": nombreClase, } form_data = urllib.urlencode(datos) result=urlfetch.fetch(url=url, payload=form_data, method=urlfetch.POST) print result.content json = jsonpickle.decode(result.content) print 'AQUIIIIIIIIIIIIIIIIIIIIII' print json['status'] if json['status']!='OK': salida['status']='SCE ERROR' if v: print ' Return: '+str(salida) return jsonpickle.encode(salida)
def getProfesoresClase(id_clase): ''' Devuelve una lista con los profesores que imparten clase a un grupo curl -i -X GET localhost:8002/clases/1/profesores ''' return jsonpickle.encode(GestorClases.getProfesores(id_clase))
def getAlumnosClase(id_clase): ''' Devuelve todos los alumnos que se encuentran matriculados en ese curso. curl -i -X GET localhost:8002/clases/1/alumnos ''' return jsonpickle.encode(GestorClases.getAlumnos(id_clase))
def getClases(): ''' Devuelve una lista con todos los clases registradas en el sistema. > curl -i -X GET localhost:8002/clases ''' return jsonpickle.encode(GestorClases.getClases())
def getAsignaturasClase(id_clase): ''' Devuelve una lista con las asignaturas que se imparten a una clase concreta. curl -i -X GET localhost:8002/clases/1/asignaturas ''' return jsonpickle.encode(GestorClases.getAsignaturas(id_clase))
def getAsignaturasCurso(id_curso): ''' Devuelve una lista con las asignaturas que se imparten a un curso. curl -i -X GET localhost:8002/curso/1ESOA/asignaturas ''' return jsonpickle.encode(GestorClases.getAsignaturas(id_curso))