From 702b2fe167050ee704146f988383635eed2988d8 Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Sat, 21 Mar 2020 19:22:41 -0700 Subject: [PATCH] Remove Hipchat --- plexpy/notifiers.py | 180 -------------------------------------------- 1 file changed, 180 deletions(-) diff --git a/plexpy/notifiers.py b/plexpy/notifiers.py index 005c04fd..9784694a 100644 --- a/plexpy/notifiers.py +++ b/plexpy/notifiers.py @@ -93,7 +93,6 @@ AGENT_IDS = {'growl': 0, 'facebook': 16, 'browser': 17, 'join': 18, - 'hipchat': 19, 'discord': 20, 'androidapp': 21, 'groupme': 22, @@ -138,10 +137,6 @@ def available_notification_agents(): 'name': 'growl', 'id': AGENT_IDS['growl'] }, - {'label': 'Hipchat', - 'name': 'hipchat', - 'id': AGENT_IDS['hipchat'] - }, {'label': 'IFTTT', 'name': 'ifttt', 'id': AGENT_IDS['ifttt'] @@ -382,8 +377,6 @@ def get_agent_class(agent_id=None, config=None): return BROWSER(config=config) elif agent_id == 18: return JOIN(config=config) - elif agent_id == 19: - return HIPCHAT(config=config) elif agent_id == 20: return DISCORD(config=config) elif agent_id == 21: @@ -1830,179 +1823,6 @@ class GROWL(Notifier): return config_option -class HIPCHAT(Notifier): - """ - Hipchat notifications - """ - NAME = 'Hipchat' - _DEFAULT_CONFIG = {'hook': '', - 'color': '', - 'emoticon': '', - 'incl_subject': 1, - 'incl_card': 0, - 'incl_description': 1, - 'incl_pmslink': 0, - 'movie_provider': '', - 'tv_provider': '', - 'music_provider': '' - } - - def agent_notify(self, subject='', body='', action='', **kwargs): - data = {'notify': 'false'} - - text = body - - if self.config['incl_subject']: - data['from'] = subject - - if self.config['color']: - data['color'] = self.config['color'] - - if self.config['incl_card'] and kwargs.get('parameters', {}).get('media_type'): - # Grab formatted metadata - pretty_metadata = PrettyMetadata(kwargs['parameters']) - - if pretty_metadata.media_type == 'movie': - provider = self.config['movie_provider'] - elif pretty_metadata.media_type in ('show', 'season', 'episode'): - provider = self.config['tv_provider'] - elif pretty_metadata.media_type in ('artist', 'album', 'track'): - provider = self.config['music_provider'] - else: - provider = None - - poster_url = pretty_metadata.get_poster_url() - provider_name = pretty_metadata.get_provider_name(provider) - provider_link = pretty_metadata.get_provider_link(provider) - title = pretty_metadata.get_title() - description = pretty_metadata.get_description() - plex_url = pretty_metadata.get_plex_url() - - attachment = {'title': title, - 'format': 'medium', - 'style': 'application', - 'id': uuid.uuid4().hex, - 'activity': {'html': text, - 'icon': {'url': poster_url}}, - 'thumbnail': {'url': poster_url} - } - - if self.config['incl_description'] or pretty_metadata.media_type in ('artist', 'album', 'track'): - attachment['description'] = {'format': 'text', - 'value': description} - - attributes = [] - if provider_link: - attachment['url'] = provider_link - attributes.append({'label': 'View Details', - 'value': {'label': provider_name, - 'url': provider_link}}) - if self.config['incl_pmslink']: - attributes.append({'label': 'View Details', - 'value': {'label': 'Plex Web', - 'url': plex_url}}) - if attributes: - attachment['attributes'] = attributes - - data['message'] = text - data['card'] = attachment - - else: - if self.config['emoticon']: - text = self.config['emoticon'] + ' ' + text - data['message'] = text - data['message_format'] = 'text' - - headers = {'Content-type': 'application/json'} - - return self.make_request(self.config['hook'], headers=headers, json=data) - - def _return_config_options(self): - config_option = [{'label': 'Hipchat Custom Integrations URL', - 'value': self.config['hook'], - 'name': 'hipchat_hook', - 'description': 'Your Hipchat BYO integration URL. You can get a key from' - ' here.', - 'input_type': 'text' - }, - {'label': 'Hipchat Color', - 'value': self.config['color'], - 'name': 'hipchat_color', - 'description': 'Background color for the message.', - 'input_type': 'select', - 'select_options': {'': '', - 'gray': 'gray', - 'green': 'green', - 'purple': 'purple', - 'random': 'random', - 'red': 'red', - 'yellow': 'yellow' - } - }, - {'label': 'Hipchat Emoticon', - 'value': self.config['emoticon'], - 'name': 'hipchat_emoticon', - 'description': 'Include an emoticon tag at the beginning of text notifications (e.g. (taco)). Leave blank for none.' - ' Use a stock emoticon or create a custom emoticon' - ' here.', - 'input_type': 'text' - }, - {'label': 'Include Subject Line', - 'value': self.config['incl_subject'], - 'name': 'hipchat_incl_subject', - 'description': 'Includes the subject with the notifications.', - 'input_type': 'checkbox' - }, - {'label': 'Include Rich Metadata Info', - 'value': self.config['incl_card'], - 'name': 'hipchat_incl_card', - 'description': 'Include an info card with a poster and metadata with the notifications.
' - 'Note: Image Hosting ' - 'must be enabled under the notifications settings tab.
' - 'Note: This will change the notification type to HTML and emoticons will no longer work.', - 'input_type': 'checkbox' - }, - {'label': 'Include Plot Summaries', - 'value': self.config['incl_description'], - 'name': 'hipchat_incl_description', - 'description': 'Include a plot summary for movies and TV shows on the info card.', - 'input_type': 'checkbox' - }, - {'label': 'Include Link to Plex Web', - 'value': self.config['incl_pmslink'], - 'name': 'hipchat_incl_pmslink', - 'description': 'Include a second link to the media in Plex Web on the info card.', - 'input_type': 'checkbox' - }, - {'label': 'Movie Link Source', - 'value': self.config['movie_provider'], - 'name': 'hipchat_movie_provider', - 'description': 'Select the source for movie links on the info cards. Leave blank to disable.
' - 'Note: 3rd party API lookup may need to be enabled under the notifications settings tab.', - 'input_type': 'select', - 'select_options': PrettyMetadata().get_movie_providers() - }, - {'label': 'TV Show Link Source', - 'value': self.config['tv_provider'], - 'name': 'hipchat_tv_provider', - 'description': 'Select the source for tv show links on the info cards. Leave blank to disable.
' - 'Note: 3rd party API lookup may need to be enabled under the notifications settings tab.', - 'input_type': 'select', - 'select_options': PrettyMetadata().get_tv_providers() - }, - {'label': 'Music Link Source', - 'value': self.config['music_provider'], - 'name': 'hipchat_music_provider', - 'description': 'Select the source for music links on the info cards. Leave blank to disable.', - 'input_type': 'select', - 'select_options': PrettyMetadata().get_music_providers() - } - ] - - return config_option - - class IFTTT(Notifier): """ IFTTT notifications