diff --git a/plexpy/common.py b/plexpy/common.py index 0934cec5..bb48c1d6 100644 --- a/plexpy/common.py +++ b/plexpy/common.py @@ -441,7 +441,8 @@ NOTIFICATION_PARAMETERS = [ {'name': 'Summary', 'type': 'str', 'value': 'summary', 'description': 'A short plot summary for the item.'}, {'name': 'Tagline', 'type': 'str', 'value': 'tagline', 'description': 'A tagline for the media item.'}, {'name': 'Rating', 'type': 'float', 'value': 'rating', 'description': 'The rating (out of 10) for the item.'}, - {'name': 'Audience Rating', 'type': 'float', 'value': 'audience_rating', 'description': 'The audience rating (%) for the item.', 'help_text': 'Ratings source must be Rotten Tomatoes for the Plex Movie agent'}, + {'name': 'Critic Rating', 'type': 'int', 'value': 'critic_rating', 'description': 'The critic rating (%) for the item.', 'help_text': 'Ratings source must be Rotten Tomatoes for the Plex Movie agent'}, + {'name': 'Audience Rating', 'type': 'int', 'value': 'audience_rating', 'description': 'The audience rating (%) for the item.', 'help_text': 'Ratings source must be Rotten Tomatoes for the Plex Movie agent'}, {'name': 'Duration', 'type': 'int', 'value': 'duration', 'description': 'The duration (in minutes) for the item.'}, {'name': 'Poster URL', 'type': 'str', 'value': 'poster_url', 'description': 'A URL for the movie, TV show, or album poster.'}, {'name': 'Plex URL', 'type': 'str', 'value': 'plex_url', 'description': 'The Plex URL to your server for the item.'}, diff --git a/plexpy/notification_handler.py b/plexpy/notification_handler.py index 421617de..1707deb2 100644 --- a/plexpy/notification_handler.py +++ b/plexpy/notification_handler.py @@ -708,6 +708,14 @@ def build_media_notify_params(notify_action=None, session=None, timeline=None, m child_count = 1 grandchild_count = 1 + critic_rating = '' + if notify_params['rating_image'].startswith('rottentomatoes://') and notify_params['rating']: + critic_rating = helpers.get_percent(notify_params['rating'], 10) + + audience_rating = '' + if notify_params['audience_rating']: + audience_rating = helpers.get_percent(notify_params['audience_rating'], 10) + now = arrow.now() now_iso = now.isocalendar() @@ -856,7 +864,8 @@ def build_media_notify_params(notify_action=None, session=None, timeline=None, m 'summary': notify_params['summary'], 'tagline': notify_params['tagline'], 'rating': notify_params['rating'], - 'audience_rating': helpers.get_percent(notify_params['audience_rating'], 10) or '', + 'critic_rating': critic_rating, + 'audience_rating': audience_rating, 'duration': duration, 'poster_title': notify_params['poster_title'], 'poster_url': notify_params['poster_url'], diff --git a/plexpy/pmsconnect.py b/plexpy/pmsconnect.py index e91f2b69..6674bf40 100644 --- a/plexpy/pmsconnect.py +++ b/plexpy/pmsconnect.py @@ -527,7 +527,9 @@ class PmsConnect(object): 'summary': helpers.get_xml_attr(m, 'summary'), 'tagline': helpers.get_xml_attr(m, 'tagline'), 'rating': helpers.get_xml_attr(m, 'rating'), + 'rating_image': helpers.get_xml_attr(m, 'ratingImage'), 'audience_rating': helpers.get_xml_attr(m, 'audienceRating'), + 'audience_rating_image': helpers.get_xml_attr(m, 'audienceRatingImage'), 'user_rating': helpers.get_xml_attr(m, 'userRating'), 'duration': helpers.get_xml_attr(m, 'duration'), 'year': helpers.get_xml_attr(m, 'year'), @@ -680,7 +682,9 @@ class PmsConnect(object): 'summary': helpers.get_xml_attr(metadata_main, 'summary'), 'tagline': helpers.get_xml_attr(metadata_main, 'tagline'), 'rating': helpers.get_xml_attr(metadata_main, 'rating'), + 'rating_image': helpers.get_xml_attr(metadata_main, 'ratingImage'), 'audience_rating': helpers.get_xml_attr(metadata_main, 'audienceRating'), + 'audience_rating_image': helpers.get_xml_attr(metadata_main, 'audienceRatingImage'), 'user_rating': helpers.get_xml_attr(metadata_main, 'userRating'), 'duration': helpers.get_xml_attr(metadata_main, 'duration'), 'year': helpers.get_xml_attr(metadata_main, 'year'), @@ -728,7 +732,9 @@ class PmsConnect(object): 'summary': helpers.get_xml_attr(metadata_main, 'summary'), 'tagline': helpers.get_xml_attr(metadata_main, 'tagline'), 'rating': helpers.get_xml_attr(metadata_main, 'rating'), + 'rating_image': helpers.get_xml_attr(metadata_main, 'ratingImage'), 'audience_rating': helpers.get_xml_attr(metadata_main, 'audienceRating'), + 'audience_rating_image': helpers.get_xml_attr(metadata_main, 'audienceRatingImage'), 'user_rating': helpers.get_xml_attr(metadata_main, 'userRating'), 'duration': duration, 'year': helpers.get_xml_attr(metadata_main, 'year'), @@ -773,7 +779,9 @@ class PmsConnect(object): 'summary': show_details['summary'], 'tagline': helpers.get_xml_attr(metadata_main, 'tagline'), 'rating': helpers.get_xml_attr(metadata_main, 'rating'), + 'rating_image': helpers.get_xml_attr(metadata_main, 'ratingImage'), 'audience_rating': helpers.get_xml_attr(metadata_main, 'audienceRating'), + 'audience_rating_image': helpers.get_xml_attr(metadata_main, 'audienceRatingImage'), 'user_rating': helpers.get_xml_attr(metadata_main, 'userRating'), 'duration': show_details['duration'], 'year': helpers.get_xml_attr(metadata_main, 'year'), @@ -819,7 +827,9 @@ class PmsConnect(object): 'summary': helpers.get_xml_attr(metadata_main, 'summary'), 'tagline': helpers.get_xml_attr(metadata_main, 'tagline'), 'rating': helpers.get_xml_attr(metadata_main, 'rating'), + 'rating_image': helpers.get_xml_attr(metadata_main, 'ratingImage'), 'audience_rating': helpers.get_xml_attr(metadata_main, 'audienceRating'), + 'audience_rating_image': helpers.get_xml_attr(metadata_main, 'audienceRatingImage'), 'user_rating': helpers.get_xml_attr(metadata_main, 'userRating'), 'duration': helpers.get_xml_attr(metadata_main, 'duration'), 'year': helpers.get_xml_attr(metadata_main, 'year'), @@ -863,7 +873,9 @@ class PmsConnect(object): 'summary': helpers.get_xml_attr(metadata_main, 'summary'), 'tagline': helpers.get_xml_attr(metadata_main, 'tagline'), 'rating': helpers.get_xml_attr(metadata_main, 'rating'), + 'rating_image': helpers.get_xml_attr(metadata_main, 'ratingImage'), 'audience_rating': helpers.get_xml_attr(metadata_main, 'audienceRating'), + 'audience_rating_image': helpers.get_xml_attr(metadata_main, 'audienceRatingImage'), 'user_rating': helpers.get_xml_attr(metadata_main, 'userRating'), 'duration': helpers.get_xml_attr(metadata_main, 'duration'), 'year': helpers.get_xml_attr(metadata_main, 'year'), @@ -908,7 +920,9 @@ class PmsConnect(object): 'summary': helpers.get_xml_attr(metadata_main, 'summary') or artist_details['summary'], 'tagline': helpers.get_xml_attr(metadata_main, 'tagline'), 'rating': helpers.get_xml_attr(metadata_main, 'rating'), + 'rating_image': helpers.get_xml_attr(metadata_main, 'ratingImage'), 'audience_rating': helpers.get_xml_attr(metadata_main, 'audienceRating'), + 'audience_rating_image': helpers.get_xml_attr(metadata_main, 'audienceRatingImage'), 'user_rating': helpers.get_xml_attr(metadata_main, 'userRating'), 'duration': helpers.get_xml_attr(metadata_main, 'duration'), 'year': helpers.get_xml_attr(metadata_main, 'year'), @@ -956,7 +970,9 @@ class PmsConnect(object): 'summary': helpers.get_xml_attr(metadata_main, 'summary'), 'tagline': helpers.get_xml_attr(metadata_main, 'tagline'), 'rating': helpers.get_xml_attr(metadata_main, 'rating'), + 'rating_image': helpers.get_xml_attr(metadata_main, 'ratingImage'), 'audience_rating': helpers.get_xml_attr(metadata_main, 'audienceRating'), + 'audience_rating_image': helpers.get_xml_attr(metadata_main, 'audienceRatingImage'), 'user_rating': helpers.get_xml_attr(metadata_main, 'userRating'), 'duration': helpers.get_xml_attr(metadata_main, 'duration'), 'year': album_details['year'], @@ -1000,7 +1016,9 @@ class PmsConnect(object): 'summary': helpers.get_xml_attr(metadata_main, 'summary'), 'tagline': helpers.get_xml_attr(metadata_main, 'tagline'), 'rating': helpers.get_xml_attr(metadata_main, 'rating'), + 'rating_image': helpers.get_xml_attr(metadata_main, 'ratingImage'), 'audience_rating': helpers.get_xml_attr(metadata_main, 'audienceRating'), + 'audience_rating_image': helpers.get_xml_attr(metadata_main, 'audienceRatingImage'), 'user_rating': helpers.get_xml_attr(metadata_main, 'userRating'), 'duration': helpers.get_xml_attr(metadata_main, 'duration'), 'year': helpers.get_xml_attr(metadata_main, 'year'), @@ -1045,7 +1063,9 @@ class PmsConnect(object): 'summary': helpers.get_xml_attr(metadata_main, 'summary'), 'tagline': helpers.get_xml_attr(metadata_main, 'tagline'), 'rating': helpers.get_xml_attr(metadata_main, 'rating'), + 'rating_image': helpers.get_xml_attr(metadata_main, 'ratingImage'), 'audience_rating': helpers.get_xml_attr(metadata_main, 'audienceRating'), + 'audience_rating_image': helpers.get_xml_attr(metadata_main, 'audienceRatingImage'), 'user_rating': helpers.get_xml_attr(metadata_main, 'userRating'), 'duration': helpers.get_xml_attr(metadata_main, 'duration'), 'year': helpers.get_xml_attr(metadata_main, 'year'), @@ -1090,7 +1110,9 @@ class PmsConnect(object): 'summary': helpers.get_xml_attr(metadata_main, 'summary'), 'tagline': helpers.get_xml_attr(metadata_main, 'tagline'), 'rating': helpers.get_xml_attr(metadata_main, 'rating'), + 'rating_image': helpers.get_xml_attr(metadata_main, 'ratingImage'), 'audience_rating': helpers.get_xml_attr(metadata_main, 'audienceRating'), + 'audience_rating_image': helpers.get_xml_attr(metadata_main, 'audienceRatingImage'), 'user_rating': helpers.get_xml_attr(metadata_main, 'userRating'), 'duration': helpers.get_xml_attr(metadata_main, 'duration'), 'year': helpers.get_xml_attr(metadata_main, 'year'), @@ -1136,7 +1158,9 @@ class PmsConnect(object): 'summary': helpers.get_xml_attr(metadata_main, 'summary'), 'tagline': helpers.get_xml_attr(metadata_main, 'tagline'), 'rating': helpers.get_xml_attr(metadata_main, 'rating'), + 'rating_image': helpers.get_xml_attr(metadata_main, 'ratingImage'), 'audience_rating': helpers.get_xml_attr(metadata_main, 'audienceRating'), + 'audience_rating_image': helpers.get_xml_attr(metadata_main, 'audienceRatingImage'), 'user_rating': helpers.get_xml_attr(metadata_main, 'userRating'), 'duration': helpers.get_xml_attr(metadata_main, 'duration'), 'year': helpers.get_xml_attr(metadata_main, 'year'), @@ -1714,7 +1738,9 @@ class PmsConnect(object): 'summary': helpers.get_xml_attr(session, 'summary'), 'tagline': helpers.get_xml_attr(session, 'tagline'), 'rating': helpers.get_xml_attr(session, 'rating'), + 'rating_image': helpers.get_xml_attr(session, 'ratingImage'), 'audience_rating': helpers.get_xml_attr(session, 'audienceRating'), + 'audience_rating_image': helpers.get_xml_attr(session, 'audienceRatingImage'), 'user_rating': helpers.get_xml_attr(session, 'userRating'), 'duration': helpers.get_xml_attr(session, 'duration'), 'year': helpers.get_xml_attr(session, 'year'), @@ -2037,7 +2063,9 @@ class PmsConnect(object): 'summary': helpers.get_xml_attr(m, 'summary'), 'tagline': helpers.get_xml_attr(m, 'tagline'), 'rating': helpers.get_xml_attr(m, 'rating'), + 'rating_image': helpers.get_xml_attr(m, 'ratingImage'), 'audience_rating': helpers.get_xml_attr(m, 'audienceRating'), + 'audience_rating_image': helpers.get_xml_attr(m, 'audienceRatingImage'), 'user_rating': helpers.get_xml_attr(m, 'userRating'), 'duration': helpers.get_xml_attr(m, 'duration'), 'year': helpers.get_xml_attr(m, 'year'), diff --git a/plexpy/webserve.py b/plexpy/webserve.py index b0730555..bca79e90 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -4560,6 +4560,7 @@ class WebInterface(object): "added_at": "1461572396", "art": "/library/metadata/1219/art/1462175063", "audience_rating": "8", + "audience_rating_image": "rottentomatoes://image.rating.upright", "banner": "/library/metadata/1219/banner/1462175063", "collections": [], "content_rating": "TV-MA", @@ -4657,6 +4658,7 @@ class WebInterface(object): "parent_thumb": "/library/metadata/153036/thumb/1462175062", "parent_title": "", "rating": "7.8", + "rating_image": "rottentomatoes://image.rating.ripe", "rating_key": "153037", "section_id": "2", "sort_title": "Game of Thrones", @@ -4920,6 +4922,7 @@ class WebInterface(object): "art": "/library/metadata/1219/art/1503306930", "aspect_ratio": "1.78", "audience_rating": "", + "audience_rating_image": "rottentomatoes://image.rating.upright", "audio_bitrate": "384", "audio_bitrate_mode": "", "audio_channel_layout": "5.1(side)", @@ -4996,6 +4999,7 @@ class WebInterface(object): "progress_percent": "0", "quality_profile": "Original", "rating": "7.8", + "rating_image": "rottentomatoes://image.rating.ripe", "rating_key": "153037", "relay": 0, "section_id": "2",