mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-16 02:02:58 -07:00
Refactor notification image upload code
This commit is contained in:
parent
5ab9315f16
commit
e263f0b8a3
1 changed files with 13 additions and 44 deletions
|
@ -1807,19 +1807,12 @@ class GROUPME(Notifier):
|
||||||
if self.config['incl_poster'] and kwargs.get('parameters'):
|
if self.config['incl_poster'] and kwargs.get('parameters'):
|
||||||
pretty_metadata = PrettyMetadata(kwargs.get('parameters'))
|
pretty_metadata = PrettyMetadata(kwargs.get('parameters'))
|
||||||
|
|
||||||
# Retrieve the poster from Plex
|
image = pretty_metadata.get_image()
|
||||||
result = pmsconnect.PmsConnect().get_image(img=pretty_metadata.parameters.get('poster_thumb',''))
|
if image:
|
||||||
if result and result[0]:
|
|
||||||
poster_content = result[0]
|
|
||||||
else:
|
|
||||||
poster_content = ''
|
|
||||||
logger.error("Tautulli Notifiers :: Unable to retrieve image for {name}.".format(name=self.NAME))
|
|
||||||
|
|
||||||
if poster_content:
|
|
||||||
headers = {'X-Access-Token': self.config['access_token'],
|
headers = {'X-Access-Token': self.config['access_token'],
|
||||||
'Content-Type': 'image/png'}
|
'Content-Type': 'image/png'}
|
||||||
|
|
||||||
r = requests.post('https://image.groupme.com/pictures', headers=headers, data=poster_content)
|
r = requests.post('https://image.groupme.com/pictures', headers=headers, data=image[1])
|
||||||
|
|
||||||
if r.status_code == 200:
|
if r.status_code == 200:
|
||||||
logger.info("Tautulli Notifiers :: {name} poster sent.".format(name=self.NAME))
|
logger.info("Tautulli Notifiers :: {name} poster sent.".format(name=self.NAME))
|
||||||
|
@ -3042,18 +3035,10 @@ class PUSHBULLET(Notifier):
|
||||||
# Grab formatted metadata
|
# Grab formatted metadata
|
||||||
pretty_metadata = PrettyMetadata(kwargs['parameters'])
|
pretty_metadata = PrettyMetadata(kwargs['parameters'])
|
||||||
|
|
||||||
# Retrieve the poster from Plex
|
image = pretty_metadata.get_image()
|
||||||
result = pmsconnect.PmsConnect().get_image(img=pretty_metadata.parameters.get('poster_thumb', ''))
|
if image:
|
||||||
if result and result[0]:
|
file_json = {'file_name': image[0], 'file_type': image[2]}
|
||||||
poster_content = result[0]
|
files = {'file': image}
|
||||||
else:
|
|
||||||
poster_content = ''
|
|
||||||
logger.error("Tautulli Notifiers :: Unable to retrieve image for {name}.".format(name=self.NAME))
|
|
||||||
|
|
||||||
if poster_content:
|
|
||||||
poster_filename = 'poster_{}.png'.format(pretty_metadata.parameters['rating_key'])
|
|
||||||
file_json = {'file_name': poster_filename, 'file_type': 'image/png'}
|
|
||||||
files = {'file': (poster_filename, poster_content, 'image/png')}
|
|
||||||
|
|
||||||
r = requests.post('https://api.pushbullet.com/v2/upload-request', headers=headers, json=file_json)
|
r = requests.post('https://api.pushbullet.com/v2/upload-request', headers=headers, json=file_json)
|
||||||
|
|
||||||
|
@ -3199,17 +3184,9 @@ class PUSHOVER(Notifier):
|
||||||
# Grab formatted metadata
|
# Grab formatted metadata
|
||||||
pretty_metadata = PrettyMetadata(kwargs['parameters'])
|
pretty_metadata = PrettyMetadata(kwargs['parameters'])
|
||||||
|
|
||||||
# Retrieve the poster from Plex
|
image = pretty_metadata.get_image()
|
||||||
result = pmsconnect.PmsConnect().get_image(img=pretty_metadata.parameters.get('poster_thumb', ''))
|
if image:
|
||||||
if result and result[0]:
|
files = {'attachment': image}
|
||||||
poster_content = result[0]
|
|
||||||
else:
|
|
||||||
poster_content = ''
|
|
||||||
logger.error("Tautulli Notifiers :: Unable to retrieve image for {name}.".format(name=self.NAME))
|
|
||||||
|
|
||||||
if poster_content:
|
|
||||||
poster_filename = 'poster_{}.png'.format(pretty_metadata.parameters['rating_key'])
|
|
||||||
files = {'attachment': (poster_filename, poster_content, 'image/png')}
|
|
||||||
headers = {}
|
headers = {}
|
||||||
|
|
||||||
return self.make_request('https://api.pushover.net/1/messages.json', headers=headers, data=data, files=files)
|
return self.make_request('https://api.pushover.net/1/messages.json', headers=headers, data=data, files=files)
|
||||||
|
@ -3994,17 +3971,9 @@ class TELEGRAM(Notifier):
|
||||||
# Grab formatted metadata
|
# Grab formatted metadata
|
||||||
pretty_metadata = PrettyMetadata(kwargs['parameters'])
|
pretty_metadata = PrettyMetadata(kwargs['parameters'])
|
||||||
|
|
||||||
# Retrieve the poster from Plex
|
image = pretty_metadata.get_image()
|
||||||
result = pmsconnect.PmsConnect().get_image(img=pretty_metadata.parameters.get('poster_thumb', ''))
|
if image:
|
||||||
if result and result[0]:
|
files = {'photo': image}
|
||||||
poster_content = result[0]
|
|
||||||
else:
|
|
||||||
poster_content = ''
|
|
||||||
logger.error("Tautulli Notifiers :: Unable to retrieve image for {name}.".format(name=self.NAME))
|
|
||||||
|
|
||||||
if poster_content:
|
|
||||||
poster_filename = 'poster_{}.png'.format(pretty_metadata.parameters['rating_key'])
|
|
||||||
files = {'photo': (poster_filename, poster_content, 'image/png')}
|
|
||||||
|
|
||||||
if len(text) > 1024:
|
if len(text) > 1024:
|
||||||
data['disable_notification'] = True
|
data['disable_notification'] = True
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue