示例#1
0
def api_response():

    if request.method == 'POST':
        ######### Obteniendo datos de los sensores ################
        # Para indentificar dir
        dir = str(request.headers.get('direccion'))
        print('Direccion:', dir)

        # Para indentificar el sensor
        sensor = str(request.headers.get('sen_n'))
        print('Sensor:', sensor)

        # Para indentificar el sensor
        num_sen = int(request.headers.get('num'))
        print('Numero:', num_sen)

        # Llamando a la funcion de registro en BD
        est = regis(dir, sensor, num_sen)
        print(est)

        if est == 'Parfait':
            return 'ok'
        else:
            return (est)

    else:
        return 'Error de submicion de datos'
示例#2
0
def api_response():
    # Variables globales del programa
    global prom_a
    global prom_b
    global hora_esp_a
    global hora_esp_b
    global estado_m_a
    global estado_m_b
    global activado
    global bd
    # Resgitro en BD
    if request.method == 'POST':
        dir = str(request.headers.get('direccion')) # Para indentificar dir
        print('Direccion:', dir )

        sensor = str(request.headers.get('sen_n')) # Para indentificar el sensor

        num_sen = int(request.headers.get('num'))  # Para indentificar el sensor
        print('Numero:', num_sen )

        # Llamando a la funcion de registro en BD
        bd_reg = regis( dir, sensor, num_sen)
        print('Regis', bd_reg)

        ##### --- Evaluando --- #####
        # Evaluando - cuando 1 es activado y regis accepta los datos
        if (activado == 1 and bd_reg == 'ok'):
            if dir == 'a':
                # restando - 1 al num de sensor para ordenar las cosas
                n_lista = num_sen - 1
                # Obteniendo los datos necesarios
                prom = prom_a[n_lista]
                hora_esp = hora_esp_a[n_lista]

                # Creando hora esperada con prom_past
                if hora_esp  == 0:
                    print('Creando tiempo esperado con bd')
                    hora_esp = prom_past( dir, num_sen, prom, bd )

                # Llamando a Eva
                resultados = evaluacion( prom , hora_esp  )

                # Guardando tiempo esperado proximo
                hora_esp_a[n_lista] = resultados[1]

                # Guardando evaluacion
                estado_m_a[n_lista] = resultados[0]

                # Evaluacion final en base a todos los tiempos
                lista  = estado_m_a
                final = eva_final( lista)
                print('html ', final)

                # ENVIAR ESA RESPUESTA AL WEBSOCKET

            # Evaluando direccion B
            else:
                # restando - 1 al num de sensor para ordenar las cosas
                n_lista = num_sen - 1
                # Obteniendo los datos necesarios
                prom = prom_b[n_lista]
                hora_esp = hora_esp_b[n_lista]

                # Creando hora esperada con prom_past
                if hora_esp  == 0:
                    print('Creando tiempo esperado con bd')
                    hora_esp = prom_past( dir, num_sen, prom, bd )

                # Llamando a Eva
                resultados = evaluacion( prom , hora_esp  )

                # Guardando tiempo esperado proximo
                hora_esp_b[n_lista] = resultados[1]

                # Resultados obtiene - evaluacion - y - hora esperada
                estado_m_b[n_lista] = resultados[0]

                # Evaluacion final en base a todos los tiempos
                lista  = estado_m_b
                final = eva_final( lista)
                print('html ', final)

                # ENVIAR ESA RESPUESTA AL WEBSOCKET

        # Respuesta a sensores
        if bd_reg == 'ok':
            return 'Sensor resistered sussesfully'
        else:
            return(bd_reg)

    # === Activando las funciones de evaluacion ===
    elif request.method == 'GET':
        # Respuesta del admin
        a = request.args.get('a', 0, type=str)
        print('La respuesta es ', a)

        # Decidiendo entre BD
        if a == "default":
            nombrebd = "default.db"
            print("leyendo bd default")
            # Para leer la bd actual
        else:
            nombrebd = time.strftime('%d%m%y',time.localtime()) + ".db"
            print("leyendo bd", nombrebd)

        # Esta bd es la que se utilizara
        bd = nombrebd

        # Obteniendo el promedio segun la decision
        prom_f = promedios(nombrebd)
        prom_a = prom_f[0]
        prom_b = prom_f[1]

        print('a',prom_f[0])
        print('b',prom_f[1])

        # Ajustando var. de activacion
        if prom_f == 'Error!':
            activado = 0
        else:
            activado = 1
            print("MODO EVALUACION")

        # Regresa lista de promedios a la funcion getson de admin
        return jsonify(pro = prom_f)

    else:
        return 'Error de submicion de datos'