def getAlumno(id_alumno): ''' Devuelve todos los datos de un alumno buscado por su id en caso de existir en la base de datos. curl -i -X GET localhost:8002/alumnos/11223344A ''' #Si no tiene el número correcto de caracteres el identificador. if len(id_alumno) != 9: abort(400) salida=GestorAlumnos.getAlumno(id_alumno) if salida=="Elemento no encontrado": #Enviamos el error de NotFound abort(404) else: print "Aquí: " print str(salida.fecha_nac) return jsonpickle.encode(GestorAlumnos.getAlumno(id_alumno))
def get(self): """ Gestiona las peticiones de tipo get (DAME-QUIERO) al recurso Alumnos /alumnos Devuelve una lista con todos los alumnos de la base de datos. /alumnos?dni=<dni del alumno> Devuelve todos los datos de un alumno en concreto. /alumnos/asignaturas?dni=<dniAlumno> Devuelve todas las asignaturas en la que está matriculado el estudiante. /alumnos/profesores?dni=<dniAlumno> Devuelve una lista con todos los profesores que imparten clase a ese alumno """ #Si no se pasa como parámetro nada, se está pidiendo una lista simplificada de todos los alumnos de la base de datos. ''' http://localhost:8080/alumnos ''' if(self.request.get('dni')==''): print ("GET ALL ALUMNOS #######################") #Se está pidiendo que se devuelvan todos los alumnos listaAlumnos = GestorAlumnos.getAlumnos() #Una vez que tenemos la lista de aĺumnos convertimos los datos a JSON para enviarlos salida="" for alumno in listaAlumnos: salida+= str(json.dumps(alumno.__dict__)) #print "Imprimiendo lista de alumnos" obj = jsonpickle.encode(listaAlumnos) #print str(obj) #Los enviamos self.response.write(obj) #En otro caso, se está pasando el dni del que se quiere toda su información al completo. else: print ("GET UN ALUMNO #######################") #Recuperamos el alumno pedido. alumno = GestorAlumnos.getAlumno(self.request.get('dni')) if(alumno!='Elemento no encontrado'): print "FECHA NACIMIENTO" #Tenemos que hacer esto para que no haya problemas al codificar con JSON el tipo de dato fecha nacimiento alumno.fecha_nac=str(alumno.fecha_nac) print alumno.fecha_nac #Si se trata de un error entonces se envía el error que nos devuelve el GestorAlumnos directamente #Enviamos el resultado en formato JSON self.response.write(jsonpickle.encode(alumno))
def getAlumno(id_alumno): ''' Devuelve todos los datos de un alumno buscado por su id en caso de existir en la base de datos. curl -i -X GET localhost:8002/alumnos/11223344A ''' if v: print 'Calling GestorAlumnos.getAlumno(' + id_alumno + ')' #Si no tiene el número correcto de caracteres el identificador. #if len(id_alumno) != 9: # abort(400) salida = GestorAlumnos.getAlumno(id_alumno) if salida == "Elemento no encontrado": #Enviamos el error de NotFound abort(404) else: #return jsonpickle.encode(GestorAlumnos.getAlumno(id_alumno), unpicklable=False) return jsonpickle.encode(salida, unpicklable=False)
def getAlumno(id_alumno): ''' Devuelve todos los datos de un alumno buscado por su id en caso de existir en la base de datos. curl -i -X GET localhost:8002/alumnos/11223344A ''' if v: print 'Calling GestorAlumnos.getAlumno('+id_alumno+')' #Si no tiene el número correcto de caracteres el identificador. #if len(id_alumno) != 9: # abort(400) salida=GestorAlumnos.getAlumno(id_alumno) if salida=="Elemento no encontrado": #Enviamos el error de NotFound abort(404) else: #return jsonpickle.encode(GestorAlumnos.getAlumno(id_alumno), unpicklable=False) return jsonpickle.encode(salida, unpicklable=False)