def resolve_player(player, lister, params): results = [] for command_group in player.commands: if xbmc.Monitor().abortRequested() or not Lister().is_active(): return command_group_results = [] for command in command_group: if xbmc.Monitor().abortRequested() or not Lister().is_active(): return lang = command.get('language', 'en') if not lang in params: continue parameters = params[lang] #CHANGES link = text.apply_parameters(text.to_unicode(command['link']), parameters) # link = text.apply_parameters(text.to_unicode(command['link']), parameters).replace(' & ','%20%26%20') #modified the following line to replace " & " with " and " link = text.apply_parameters(text.to_unicode(command['link']), parameters).replace(' & ', ' and ') # xbmc.log(link, level=4) if link == 'movies' and player.media == 'movies': video = tools.get_movie_from_library(parameters['imdb']) if video: command_group_results.append(video) elif link == 'tvshows' and player.media == 'tvshows': video = tools.get_episode_from_library(parameters['id'], parameters['season'], parameters['episode']) if not video: video = tools.get_episode_from_library( parameters['tmdb'], parameters['season'], parameters['episode']) if video: command_group_results.append(video) elif not command.get('steps'): command_group_results.append({ 'label': player.title, 'path': text.urlencode_path(link), 'action': command.get('action', 'PLAY') }) else: steps = [text.to_unicode(step) for step in command['steps']] files, dirs = Lister().get(link, steps, parameters) if files: command_group_results += [{ 'label': f['label'], 'path': (f['path']), 'action': command.get('action', 'PLAY') } for f in files] if command_group_results: break results += command_group_results if results: return player.title, results
def resolve_player(player, lister, params): # xbmc.log(str('def resolve_player(player, lister, params):')+'===>OPENMETA', level=xbmc.LOGNOTICE) results = [] for command_group in player.commands: if xbmc.Monitor().abortRequested() or not lister.is_active(): return command_group_results = [] for command in command_group: if xbmc.Monitor().abortRequested() or not lister.is_active(): return lang = command.get('language', 'en') if not lang in params: continue parameters = params[lang] link = text.apply_parameters(text.to_unicode(command['link']), parameters) if link == 'movies' and player.media == 'movies': video = tools.get_movie_from_library(parameters['imdb']) if video: command_group_results.append(video) elif link == 'tvshows' and player.media == 'tvshows': video = tools.get_episode_from_library(parameters['id'], parameters['season'], parameters['episode']) if not video: video = tools.get_episode_from_library( parameters['tmdb'], parameters['season'], parameters['episode']) if video: command_group_results.append(video) elif not command.get('steps'): command_group_results.append({ 'label': player.title, 'path': text.urlencode_path(link), 'action': command.get('action', 'PLAY') }) else: steps = [text.to_unicode(step) for step in command['steps']] files, dirs = lister.get(link, steps, parameters) if files: command_group_results += [{ 'label': f['label'], 'path': player.postprocess(f['path']), 'action': command.get('action', 'PLAY') } for f in files] if command_group_results: break results += command_group_results if results: return player.title, results