Exemplo n.º 1
0
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))
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)