From 28d05ba9fe8913e25eb251631f427aca62d31856 Mon Sep 17 00:00:00 2001 From: Jonathan Wong Date: Thu, 24 Sep 2015 22:09:14 -0700 Subject: [PATCH] Add seasons to search query --- plexpy/datafactory.py | 16 +++++++++------- plexpy/pmsconnect.py | 11 +++++++++-- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/plexpy/datafactory.py b/plexpy/datafactory.py index 991201cc..9a8cdeba 100644 --- a/plexpy/datafactory.py +++ b/plexpy/datafactory.py @@ -803,21 +803,23 @@ class DataFactory(object): media_type = item['media_type'] elif str(item['parent_rating_key']) == rating_key: - title = item['parent_title'] - if item['media_type'] == episode: + if item['media_type'] == 'episode': + title = item['grandparent_title'] media_type = 'season' - elif item['media_type'] == track: + elif item['media_type'] == 'track': + title = item['parent_title'] media_type = 'album' elif str(item['grandparent_rating_key']) == rating_key: - title = item['grandparent_title'] - if item['media_type'] == episode: + if item['media_type'] == 'episode': + title = item['grandparent_title'] media_type = 'show' - elif item['media_type'] == track: + elif item['media_type'] == 'track': + title = item['grandparent_title'] media_type = 'artist' if title and media_type: - query = {'title': title, + query = {'title': title.replace('"', ''), 'media_type': media_type, 'rating_key': rating_key} else: diff --git a/plexpy/pmsconnect.py b/plexpy/pmsconnect.py index 95b41f24..003e7aa1 100644 --- a/plexpy/pmsconnect.py +++ b/plexpy/pmsconnect.py @@ -1421,8 +1421,15 @@ class PmsConnect(object): metadata = self.get_metadata_details(rating_key=rating_key) if metadata['metadata']['type'] == 'show': search_results_list['show'].append(metadata['metadata']) - elif metadata['metadata']['type'] == 'season': - search_results_list['season'].append(metadata['metadata']) + + show_seasons = self.get_item_children(rating_key=metadata['metadata']['rating_key']) + if show_seasons['children_count'] != '0': + for season in show_seasons['children_list']: + if season['rating_key']: + rating_key = season['rating_key'] + metadata = self.get_metadata_details(rating_key=rating_key) + search_results_list['season'].append(metadata['metadata']) + elif metadata['metadata']['type'] == 'artist': search_results_list['artist'].append(metadata['metadata']) elif metadata['metadata']['type'] == 'album':