예제 #1
0
def notifyPushbullet(downlist):
    """
    """
    #prepare the interface
    pb = PushBullet(config.get("pushbullet_api_key"))
    devices = []

    #identify desired targets
    for device in pb.devices:
        devicename = device.name
        deviceno = device.device_id

        target = config.get("pushbullet_target_dev")
        if target is not "":
            if target == devicename:
                devices.append(deviceno)
        else:
            devices.append(deviceno)

    #prepare message
    message = "The host(s): \n"
    for dom in downlist:
        message += " "+dom+" \n"
    message += "seems to be down."

    #actually push the messages
    for deviceno in devices:
        device = pb.get(deviceno)
        push = device.push_note("server monitor", message)
        if (push is None) or (push.status_code is not 200):
            return False
    return True