X-Git-Url: http://git.code-monkey.de/?p=plugin.video.netflix.git;a=blobdiff_plain;f=resources%2Flib%2FKodiHelper.py;h=c468330f81cb66298813989a2224ad4503db4d09;hp=7e1811339ed923cedf094679763af94a451571a9;hb=2923983f7fa35da85af850617cf6399353c86dc8;hpb=59e3df2c2d68cb452d2a0d84eb3fd3be4988fb9f diff --git a/resources/lib/KodiHelper.py b/resources/lib/KodiHelper.py index 7e18113..c468330 100644 --- a/resources/lib/KodiHelper.py +++ b/resources/lib/KodiHelper.py @@ -469,17 +469,21 @@ class KodiHelper: li = xbmcgui.ListItem(label=video['title']) # add some art to the item li = self._generate_art_info(entry=video, li=li) - # it´s a show, so we need a subfolder & route (for seasons) - isFolder = True - url = build_url({'action': actions[video['type']], 'show_id': video_list_id}) + # add list item info + li, infos = self._generate_entry_info(entry=video, li=li) + li = self._generate_context_menu_items(entry=video, li=li) # lists can be mixed with shows & movies, therefor we need to check if its a movie, so play it right away if video_list[video_list_id]['type'] == 'movie': # it´s a movie, so we need no subfolder & a route to play it isFolder = False url = build_url({'action': 'play_video', 'video_id': video_list_id}) - # add list item info - li = self._generate_entry_info(entry=video, li=li) - li = self._generate_context_menu_items(entry=video, li=li) + else: + # it´s a show, so we need a subfolder & route (for seasons) + isFolder = True + params = {'action': actions[video['type']], 'show_id': video_list_id} + if 'tvshowtitle' in infos: + params['tvshowtitle'] = infos['tvshowtitle'] + url = build_url(params) xbmcplugin.addDirectoryItem(handle=self.plugin_handle, url=url, listitem=li, isFolder=isFolder) xbmcplugin.addSortMethod(handle=self.plugin_handle, sortMethod=xbmcplugin.SORT_METHOD_LABEL) @@ -601,9 +605,12 @@ class KodiHelper: # add some art to the item li = self._generate_art_info(entry=season, li=li) # add list item info - li = self._generate_entry_info(entry=season, li=li, base_info={'mediatype': 'season'}) + li, infos = self._generate_entry_info(entry=season, li=li, base_info={'mediatype': 'season'}) li = self._generate_context_menu_items(entry=season, li=li) - url = build_url({'action': 'episode_list', 'season_id': season_id}) + params = {'action': 'episode_list', 'season_id': season_id} + if 'tvshowtitle' in infos: + params['tvshowtitle'] = infos['tvshowtitle'] + url = build_url(params) xbmcplugin.addDirectoryItem(handle=self.plugin_handle, url=url, listitem=li, isFolder=True) xbmcplugin.addSortMethod(handle=self.plugin_handle, sortMethod=xbmcplugin.SORT_METHOD_NONE) @@ -641,7 +648,7 @@ class KodiHelper: # add some art to the item li = self._generate_art_info(entry=episode, li=li) # add list item info - li = self._generate_entry_info(entry=episode, li=li, base_info={'mediatype': 'episode'}) + li, infos = self._generate_entry_info(entry=episode, li=li, base_info={'mediatype': 'episode'}) li = self._generate_context_menu_items(entry=episode, li=li) url = build_url({'action': 'play_video', 'video_id': episode_id, 'start_offset': episode['bookmark']}) xbmcplugin.addDirectoryItem(handle=self.plugin_handle, url=url, listitem=li, isFolder=False) @@ -801,6 +808,8 @@ class KodiHelper: if 'type' in entry_keys: if entry['type'] == 'movie' or entry['type'] == 'episode': li.setProperty('IsPlayable', 'true') + elif entry['type'] == 'show': + infos.update({'tvshowtitle': entry['title']}) if 'mediatype' in entry_keys: if entry['mediatype'] == 'movie' or entry['mediatype'] == 'episode': li.setProperty('IsPlayable', 'true') @@ -820,8 +829,10 @@ class KodiHelper: if entry['quality'] == '1080': quality = {'width': '1920', 'height': '1080'} li.addStreamInfo('video', quality) + if 'tvshowtitle' in entry_keys: + infos.update({'tvshowtitle': entry['tvshowtitle']}) li.setInfo('video', infos) - return li + return li, infos def _generate_context_menu_items (self, entry, li): """Adds context menue items to a Kodi list item