def delAsignatura(id_asignatura): ''' Elimina la asignatura que se especifica con el identificador pasado, en caso de exisitir en el sistema. curl -i -X DELETE localhost:8002/asignaturas/ln ''' salida = GestorAsignaturas.delAsignatura(id_asignatura) if salida == "Elemento no encontrado": abort(404) else: return str(salida)
def delAsignatura(id_asignatura): ''' Elimina la asignatura que se especifica con el identificador pasado, en caso de exisitir en el sistema. curl -i -X DELETE localhost:8002/asignaturas/ln ''' salida = GestorAsignaturas.delAsignatura(id_asignatura) if salida=="Elemento no encontrado": abort(404) else: return str(salida)
def postAsignatura(): ''' Inserta una nueva asignatura en el sistema. curl -d "id=" -i -X POST localhost:8080/asignaturas ''' if 'id' in request.form: salida = GestorAsignaturas.nuevaAsignatura(request.form['id'],request.form['nombre']) if salida == 'OK': return 'OK' else: abort(404) else: abort(404)
def getAsignatura(id_asignatura): ''' Devuelve todos los datos de una asignatura buscado por su id en caso de existir en la base de datos. curl -i -X GET localhost:8002/asignaturas/1 ''' salida = GestorAsignaturas.getAsignatura(id_asignatura) if salida == "Elemento no encontrado": #Enviamos el error de NotFound abort(404) else: return jsonpickle.encode(salida)
def getAsignatura(id_asignatura): ''' Devuelve todos los datos de una asignatura buscado por su id en caso de existir en la base de datos. curl -i -X GET localhost:8002/asignaturas/1 ''' salida=GestorAsignaturas.getAsignatura(id_asignatura) if salida=="Elemento no encontrado": #Enviamos el error de NotFound abort(404) else: return jsonpickle.encode(salida)
def postAsignatura(): ''' Inserta una nueva asignatura en el sistema. curl -d "nombre=ComputacionZZ" -i -X POST localhost:8002/asignaturas ''' #Info de seguimiento if v: print nombreMicroservicio print ' Recurso: /asignaturas, metodo: POST \n' print ' Petición ' print request.form salida = GestorAsignaturas.nuevaAsignatura( request.form['nombre'].encode('latin-1')) print "Salida del Gestor" print salida 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 += "asignaturas" #Creamos un diccionario con los datos. datos = { "idAsignatura": salida['idAsignatura'], "nombreAsignatura": request.form['nombre'], } form_data = urllib.urlencode(datos) result = urlfetch.fetch(url=url, payload=form_data, method=urlfetch.POST) json = jsonpickle.decode(result.content) if json['status'] != 'OK': salida['status'] = 'SCE ERROR' if v: print ' Return: ' + str(salida) return jsonpickle.encode(salida)
def modAsignaturaCompleta(id_asignatura): ''' Función que modifica los atributos de una asignatura completa dado su identificación curl -d "nombre=Ciudadania" -i -X POST localhost:8002/asignaturas/1 ''' if v: print 'Calling GestorProfesores.modProfesorCompleto()' #El id del alumno se pasa por la URL salida = GestorAsignaturas.modAsignaturaCompleta(id_asignatura, request.form['nombre']); if v: print "SALIDA: "+str(salida) if salida == 'OK': return 'OK' else: return salida
def postAsignatura(): ''' Inserta una nueva asignatura en el sistema. curl -d "nombre=ComputacionZZ" -i -X POST localhost:8002/asignaturas ''' #Info de seguimiento if v: print nombreMicroservicio print ' Recurso: /asignaturas, metodo: POST \n' print ' Petición ' print request.form salida = GestorAsignaturas.nuevaAsignatura(request.form['nombre'].encode('latin-1')) print "Salida del Gestor" print salida 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+="asignaturas" #Creamos un diccionario con los datos. datos = { "idAsignatura": salida['idAsignatura'], "nombreAsignatura": request.form['nombre'], } form_data = urllib.urlencode(datos) result=urlfetch.fetch(url=url, payload=form_data, method=urlfetch.POST) json = jsonpickle.decode(result.content) if json['status']!='OK': salida['status']='SCE ERROR' if v: print ' Return: '+str(salida) return jsonpickle.encode(salida)
def modAsignaturaCompleta(id_asignatura): ''' Función que modifica los atributos de una asignatura completa dado su identificación curl -d "nombre=Ciudadania" -i -X POST localhost:8002/asignaturas/1 ''' if v: print 'Calling GestorProfesores.modProfesorCompleto()' #El id del alumno se pasa por la URL salida = GestorAsignaturas.modAsignaturaCompleta(id_asignatura, request.form['nombre']) if v: print "SALIDA: " + str(salida) if salida == 'OK': return 'OK' else: return salida
def getAlumnosAsignatura(id_asignatura): ''' curl -i -X GET localhost:8002/asignaturas/1/alumnos ''' return jsonpickle.encode(GestorAsignaturas.getAlumnos(id_asignatura))
def getAsignaturas(): ''' Devuelve una lista con todos las asignaturas registradas en el sistema. > curl -i -X GET localhost:8002/asignaturas ''' return jsonpickle.encode(GestorAsignaturas.getAsignaturas())
def getClasesAsignaturas(id_asignatura): ''' Devuelve una lista con los clases en los que se imparte esa asignatura. curl -i -X GET localhost:8002/asignaturas/1/clases ''' return jsonpickle.encode(GestorAsignaturas.getClases(id_asignatura))
def getProfesoresAsignatura(id_asignatura): ''' Devuelve una lista con los profesores que imparten clase en una asignatura curl -i -X GET localhost:8002/asignaturas/fr/profesores ''' return jsonpickle.encode(GestorAsignaturas.getProfesores(id_asignatura))