def METHOD_NAME(  # pylint: disable=too-many-arguments
        self, pushbullet_api=None, pushbullet_device=None, event=None, message=None, link=None, force=False):
    push_result = {'success': False, 'error': ''}
    if not (app.USE_PUSHBULLET or force):
        return False
    pushbullet_api = pushbullet_api or app.PUSHBULLET_API
    pushbullet_device = pushbullet_device or app.PUSHBULLET_DEVICE
    log.debug('Pushbullet event: {0!r}', event)
    log.debug('Pushbullet message: {0!r}', message)
    log.debug('Pushbullet api: {0!r}', pushbullet_api)
    log.debug('Pushbullet devices: {0!r}', pushbullet_device)
    post_data = {
        'title': event,
        'body': message,
        'device_iden': pushbullet_device,
        'type': 'link' if link else 'note'
    }
    if link:
        post_data['url'] = link
    headers = {'Access-Token': pushbullet_api,
               'Content-Type': 'application/json'}
    r = self.session.post(urljoin(self.url, 'pushes'), json=post_data, headers=headers)
    try:
        response = r.json()
    except ValueError:
        log.warning('Pushbullet notification failed. Could not parse pushbullet response.')
        push_result['error'] = 'Pushbullet notification failed. Could not parse pushbullet response.'
        return push_result
    failed = response.pop('error', {})
    if failed:
        log.warning('Pushbullet notification failed: {0}', failed.get('message'))
        push_result['error'] = 'Pushbullet notification failed: {0}'.format(failed.get('message'))
    else:
        log.debug('Pushbullet notification sent.')
        push_result['success'] = True
    return push_result