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
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
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
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