Exemplo n.º 1
0
def postAlumno():
    '''
    Método que inserta un nuevo alumno en el sistema.
    curl -d "nombre=Juan&dni=45601218Z&direccion=Calle arabl&localidad=Jerez de la frontera&provincia=Granada&fecha_nac=1988-2-6&telefono=677164459" -i -X POST localhost:8002/alumnos
    '''
    if 'dni' in request.form:
        #Presente el DNI al menos podemos grabar el alumno en el sistema.
        #Se devuelve la salida de control de
        salida = GestorAlumnos.nuevoAlumno(request.form['nombre'],
                                  request.form['dni'],
                                  request.form['direccion'],
                                  request.form['localidad'],
                                  request.form['provincia'],
                                  request.form['fecha_nac'],
                                  request.form['telefono'])
        if salida == 'OK':
            return 'OK'
        else:
            abort(404)
    else:
        abort(404)
    def post(self):
        """
        Función para añadir un nuevo alumno a la base de datos.
        """

        print ("post in alumnos")
        print self.request.get('nombre')
        print self.request.get('dni')

        #Grabamos los datos en la base de datos:

        salida=GestorAlumnos.nuevoAlumno(self.request.get('nombre'), self.request.get('dni'))


        #Recogemos los atributos de la petición y los imprimimos
        #self.response.write("nombre: "+self.request.get('nombre')+"\n")
        #self.response.write("dni: "+self.request.get('dni')+"\n")
        '''
        Salida:
        nombre: JuanAntonio
        dni: 456320
        '''
        self.response.write(salida)
Exemplo n.º 3
0
def postAlumno():
    '''
    Método que inserta un nuevo alumno en el sistema.
    curl -d "nombre=Juan&apellidos=Fernandez&dni=45601218&direccion=Calle arabl&localidad=Jerez de la frontera&provincia=Granada&fecha_nacimiento=1988-2-6&telefono=677164459" -i -X POST localhost:8002/alumnos
    '''
    if v:
        print nombreMicroservicio
        print 'Recurso: /alumnos , metodo: POST'
        print "Petición: "
        print request.form

        print 'aqui'
        imagen = request.form.get('imagen')

        #print imagen

        salida = ""

    if imagen != None:
        print 'Calling with image'
        salida = GestorAlumnos.nuevoAlumno(
            request.form['nombre'].encode('latin-1'),
            request.form['apellidos'].encode('latin-1'),
            request.form['dni'].encode('latin-1'),
            request.form['direccion'].encode('latin-1'),
            request.form['localidad'].encode('latin-1'),
            request.form['provincia'].encode('latin-1'),
            request.form['fecha_nacimiento'].encode('latin-1'),
            request.form['telefono'].encode('latin-1'), request.form['imagen'])
    else:
        print 'Calling without image'
        salida = GestorAlumnos.nuevoAlumno(
            request.form['nombre'].encode('latin-1'),
            request.form['apellidos'].encode('latin-1'),
            request.form['dni'].encode('latin-1'),
            request.form['direccion'].encode('latin-1'),
            request.form['localidad'].encode('latin-1'),
            request.form['provincia'].encode('latin-1'),
            request.form['fecha_nacimiento'].encode('latin-1'),
            request.form['telefono'].encode('latin-1'))

    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 += "alumnos"

        #Creamos un diccionario con los datos.
        datos = {
            "idAlumno":
            salida['idAlumno'],
            "nombreAlumno":
            request.form['nombre'] + ' ' + request.form['apellidos'],
        }
        form_data = urllib.urlencode(datos)
        result = urlfetch.fetch(url=url,
                                payload=form_data,
                                method=urlfetch.POST)
        print 'yeahhhhhhhhhhhhhhhhhhhhhhhhhh'
        print result.content
        json = jsonpickle.decode(result.content)
        if json['status'] != 'OK':
            salida['status'] = 'SCE ERROR'

    if v:
        print ' Return: ' + str(salida)

    return jsonpickle.encode(salida)
Exemplo n.º 4
0
def postAlumno():
    '''
    Método que inserta un nuevo alumno en el sistema.
    curl -d "nombre=Juan&apellidos=Fernandez&dni=45601218&direccion=Calle arabl&localidad=Jerez de la frontera&provincia=Granada&fecha_nacimiento=1988-2-6&telefono=677164459" -i -X POST localhost:8002/alumnos
    '''
    if v:
        print nombreMicroservicio
        print 'Recurso: /alumnos , metodo: POST'
        print "Petición: "
        print request.form

        print 'aqui'
        imagen = request.form.get('imagen')

        #print imagen

        salida= "";

    if imagen != None:
        print 'Calling with image'
        salida = GestorAlumnos.nuevoAlumno(request.form['nombre'].encode('latin-1'),
                                  request.form['apellidos'].encode('latin-1'),
                                  request.form['dni'].encode('latin-1'),
                                  request.form['direccion'].encode('latin-1'),
                                  request.form['localidad'].encode('latin-1'),
                                  request.form['provincia'].encode('latin-1'),
                                  request.form['fecha_nacimiento'].encode('latin-1'),
                                  request.form['telefono'].encode('latin-1'),
                                  request.form['imagen'])
    else:
        print 'Calling without image'
        salida = GestorAlumnos.nuevoAlumno(request.form['nombre'].encode('latin-1'),
                                  request.form['apellidos'].encode('latin-1'),
                                  request.form['dni'].encode('latin-1'),
                                  request.form['direccion'].encode('latin-1'),
                                  request.form['localidad'].encode('latin-1'),
                                  request.form['provincia'].encode('latin-1'),
                                  request.form['fecha_nacimiento'].encode('latin-1'),
                                  request.form['telefono'].encode('latin-1'))


    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+="alumnos"

        #Creamos un diccionario con los datos.
        datos = {
          "idAlumno": salida['idAlumno'],
          "nombreAlumno": request.form['nombre']+' '+request.form['apellidos'],
        }
        form_data = urllib.urlencode(datos)
        result=urlfetch.fetch(url=url, payload=form_data, method=urlfetch.POST)
        print 'yeahhhhhhhhhhhhhhhhhhhhhhhhhh';
        print result.content
        json = jsonpickle.decode(result.content)
        if json['status']!='OK':
            salida['status']='SCE ERROR'

    if v:
        print ' Return: '+str(salida)

    return jsonpickle.encode(salida)