Esempio n. 1
0
def delete_from_imgur(delete_hash, img_title='', fallback=''):
    """ Deletes an image from Imgur """
    if not plexpy.CONFIG.IMGUR_CLIENT_ID:
        logger.error(
            u"Tautulli Helpers :: Cannot delete image from Imgur. No Imgur client id specified in the settings."
        )
        return False

    headers = {'Authorization': 'Client-ID %s' % plexpy.CONFIG.IMGUR_CLIENT_ID}

    response, err_msg, req_msg = request.request_response2(
        'https://api.imgur.com/3/image/%s' % delete_hash,
        'DELETE',
        headers=headers)

    if response and not err_msg:
        logger.debug(
            u"Tautulli Helpers :: Image '{}' ({}) deleted from Imgur.".format(
                img_title, fallback))
        return True
    else:
        if err_msg:
            logger.error(
                u"Tautulli Helpers :: Unable to delete image '{}' ({}) from Imgur: {}"
                .format(img_title, fallback, err_msg))
        else:
            logger.error(
                u"Tautulli Helpers :: Unable to delete image '{}' ({}) from Imgur."
                .format(img_title, fallback))
        return False
Esempio n. 2
0
def delete_from_imgur(delete_hash, imgTitle=''):
    """ Deletes an image from Imgur """
    client_id = plexpy.CONFIG.IMGUR_CLIENT_ID

    headers = {'Authorization': 'Client-ID %s' % client_id}

    response, err_msg, req_msg = request.request_response2(
        'https://api.imgur.com/3/image/%s' % delete_hash,
        'DELETE',
        headers=headers)

    if response and not err_msg:
        t = '\'' + imgTitle + '\' ' if imgTitle else ''
        logger.debug(
            u"Tautulli Helpers :: Image {}deleted from Imgur.".format(t))
        return True
    else:
        if err_msg:
            logger.error(
                u"Tautulli Helpers :: Unable to delete image from Imgur: {}".
                format(err_msg))
        else:
            logger.error(
                u"Tautulli Helpers :: Unable to delete image from Imgur.")
        return False
Esempio n. 3
0
def upload_to_imgur(img_data, img_title='', rating_key='', fallback=''):
    """ Uploads an image to Imgur """
    img_url = delete_hash = ''

    if not plexpy.CONFIG.IMGUR_CLIENT_ID:
        logger.error(u"Tautulli Helpers :: Cannot upload image to Imgur. No Imgur client id specified in the settings.")
        return img_url, delete_hash

    headers = {'Authorization': 'Client-ID %s' % plexpy.CONFIG.IMGUR_CLIENT_ID}
    data = {'image': base64.b64encode(img_data),
            'title': img_title.encode('utf-8'),
            'name': str(rating_key) + '.png',
            'type': 'png'}

    response, err_msg, req_msg = request.request_response2('https://api.imgur.com/3/image', 'POST',
                                                           headers=headers, data=data)

    if response and not err_msg:
        logger.debug(u"Tautulli Helpers :: Image '{}' ({}) uploaded to Imgur.".format(img_title, fallback))
        imgur_response_data = response.json().get('data')
        img_url = imgur_response_data.get('link', '').replace('http://', 'https://')
        delete_hash = imgur_response_data.get('deletehash', '')
    else:
        if err_msg:
            logger.error(u"Tautulli Helpers :: Unable to upload image '{}' ({}) to Imgur: {}".format(img_title, fallback, err_msg))
        else:
            logger.error(u"Tautulli Helpers :: Unable to upload image '{}' ({}) to Imgur.".format(img_title, fallback))

        if req_msg:
            logger.debug(u"Tautulli Helpers :: Request response: {}".format(req_msg))

    return img_url, delete_hash
Esempio n. 4
0
def upload_to_imgur(imgPath, imgTitle=''):
    """ Uploads an image to Imgur """
    client_id = plexpy.CONFIG.IMGUR_CLIENT_ID
    img_url = delete_hash = ''

    if not client_id:
        logger.error(
            u"Tautulli Helpers :: Cannot upload poster to Imgur. No Imgur client id specified in the settings."
        )
        return img_url, delete_hash

    try:
        with open(imgPath, 'rb') as imgFile:
            img = imgFile.read()
    except IOError as e:
        logger.error(
            u"Tautulli Helpers :: Unable to read image file for Imgur: %s" % e)
        return img_url, delete_hash

    headers = {'Authorization': 'Client-ID %s' % client_id}
    data = {'type': 'base64', 'image': base64.b64encode(img)}
    if imgTitle:
        data['title'] = imgTitle.encode('utf-8')
        data['name'] = imgTitle.encode('utf-8') + '.jpg'

    response, err_msg, req_msg = request.request_response2(
        'https://api.imgur.com/3/image', 'POST', headers=headers, data=data)

    if response and not err_msg:
        t = '\'' + imgTitle + '\' ' if imgTitle else ''
        logger.debug(
            u"Tautulli Helpers :: Image {}uploaded to Imgur.".format(t))
        imgur_response_data = response.json().get('data')
        img_url = imgur_response_data.get('link',
                                          '').replace('http://', 'https://')
        delete_hash = imgur_response_data.get('deletehash', '')
    else:
        if err_msg:
            logger.error(
                u"Tautulli Helpers :: Unable to upload image to Imgur: {}".
                format(err_msg))
        else:
            logger.error(
                u"Tautulli Helpers :: Unable to upload image to Imgur.")

        if req_msg:
            logger.debug(
                u"Tautulli Helpers :: Request response: {}".format(req_msg))

    return img_url, delete_hash