Beispiel #1
0
def checkStatus():
    # Alojamos en sensors, todos los sensores de la db filtrados por active y status.
    sensors = (db.session.query(SensorModel).filter(
        SensorModel.active == True).filter(SensorModel.status == False).all())
    # Definimos los IF para el envio de emails.
    if sensors:
        # Alojamos en la variable admins, los usuarios traidos de la db, filtrados por "admin"
        admins = db.session.query(UserModel).filter(
            UserModel.admin == True).all()

        if admins:
            adminList = [admin.email for admin in admins]

            # Almacenar la lista de sensores desactivados en una variable..
            # Tengo que escribir un nuevo archivo .pdf en el cual, su contenido sera la variable definida...

            # OPCION 1
            # Pip install fpdf
            # Importamos FPDF de fpdf para crear el archivo.pdf
            #from fpdf import FPDF
            # Primero crearemos nuestro archivo PDF, usando la biblioteca FṔDF
            # Creamos la variable y guardamos la clase FPDF()
      #      SensorsListpdf = FPDF()
            # Agregamos una pagina al archivo pdf, para poder almacenar la lista de sensores
      #      SensorsListpdf.add_page()
            # Elegimos el tipo de letra y tamaño
      #      SensorsListpdf.set_font("Arial", size=12)
            # Me faltaria agregar la lista de los sensores fallando al archivo...
      #      SensorsDesactivated = jsonify({"sensors": [sensor.to_json() for sensor in sensors]})
      #      SensorsListpdf.cell(SensorsDesactivated)
            # Guardamos la informacion con output en el archivo.pdf
      #      SensorsListpdf.output('SensorList.pdf')
            # Adjuntar el archivo.PDF
      #      attach(filename=SensorList, content_type=application/pdf, data=SensorsList, disposition=None, headers=None)

            # OPCION 2
            # pip install reportlab
            # from reportlab.pdfgen.canvas import Canvas
            # Creamos el archivo PDF con canvas y lo almacenamos en la variable
      #      SensorsList=Canvas('SensorList.pdf')
            # Escribimos la variable con los datos de los sensores
      #      SensorsDesactivated=jsonify({"sensors": [sensor.to_json() for sensor in sensors]})
      #      SensorsList.drawString(0, 0,SensorsDesactivated)
            # Guardamos los datos de los sensores en el archivo..
      #      SensorsList.save()
            # Adjuntamos la variable al email
      #      msg.attach(filename=SensorsList, content_type=application/pdf, data=sensors, disposition=None, headers=None)

            # Enviamos el email con el archivo adjunto
            sendMail(
                adminList,
                "Deactivated sensors",
                "mail/sensor",
                sensorList=sensors
            )

        # Nos retorna los datos del sensor
        return "There're no sensors", 200
    else:
        return "There're no deactivated sensors", 200
Beispiel #2
0
def checkStatus():
    sensors = db.session.query(SensorModel).filter(SensorModel.active == True).filter(SensorModel.status == False).all()
    if sensors:
        admins = db.session.query(UserModel).filter(UserModel.admin == True).all()
        if admins:
            adminList = [admin.email for admin in admins]
            sendMail(adminList, "Deactivated sensors", "mail/sensor", sensorList = sensors)
        return jsonify({ 'sensors': [sensor.to_json() for sensor in sensors]})
    else:
        return "There're no deactivated sensors", 200
def register():
    user = UserModel.from_json(request.get_json())
    exists = db.session.query(UserModel).filter(
        UserModel.email == user.email).scalar() is not None
    if exists:
        return 'Duplicate email', 409
    else:
        try:
            db.session.add(user)
            sent = sendMail(user.email, "Register", 'mail/sensor', user=user)
            if sent == True:
                db.session.commit()
            else:
                db.session.rollback()
                return str(sent), 502
        except Exception as error:
            db.session.rollback()
            return str(error), 409
        return user.to_json(), 201
Beispiel #4
0
def register():

    usuario = UsuarioModel.from_json(request.get_json())

    exits = db.session.query(UsuarioModel).filter(
        UsuarioModel.mail == usuario.mail).scalar() is not None
    if exits:
        return 'Duplicated mail', 409
    else:
        try:
            db.session.add(usuario)
            db.session.commit()

            sent = sendMail([usuario.mail],
                            "Bienvenido",
                            'register',
                            usuario=usuario)
        except Exception as error:
            db.session.rollback()
            return str(error), 409
        return usuario.to_json(), 201