diff --git a/platformcode/launcher.py b/platformcode/launcher.py index 498bdd73..3cccb0cd 100644 --- a/platformcode/launcher.py +++ b/platformcode/launcher.py @@ -447,14 +447,15 @@ def play_from_library(item): import xbmcgui import xbmcplugin import xbmc - from time import sleep + from time import sleep, time from core import jsontools autoplay_node = jsontools.get_node_from_file('autoplay', 'AUTOPLAY') channel_node = autoplay_node.get(item.channel, {}) settings_node = channel_node.get('settings', {}) - AP = config.get_setting('autoplay') or settings_node['active'] + AP = config.get_setting('autoplay') or settings_node.has_key('active') APS = config.get_setting('autoplay_server_list') + NE = config.get_setting('autoplay_next') # Intentamos reproducir una imagen (esto no hace nada y ademas no da error) xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, @@ -478,7 +479,35 @@ def play_from_library(item): if xbmc.getCondVisibility('Window.IsMedia') and not window_type == 1: # Ventana convencional xbmc.executebuiltin("Container.Update(" + sys.argv[0] + "?" + item.tourl() + ")") - if AP and APS: + if AP and NE: + while not platformtools.is_playing(): + pass + while platformtools.is_playing(): + pass + sleep(0.5) + counter = time() + play_next = False + if platformtools.dialog_yesno('Prossimo Episodio?', '', nolabel="Sì", yeslabel="No", autoclose=5000) == 0: + ep = '%dx%02d' % (season, episode) + next_ep = '%dx%02d' % (season, episode+1) + next_season = '%dx%02d' % (season+1, 1) + next_ep_path = item.strm_path.replace(ep,next_ep) + next_season_path = item.strm_path.replace(ep,next_ep) + if os.path.isfile(path+next_ep_path): + item.contentEpisodeNumber = item.infoLabels['episode'] = episode+1 + item.contentTitle = item.infoLabels['title'] = next_ep + item.strm_path = next_ep_path + logger.info(str(item)) + play_from_library(item) + elif os.path.isfile(item.strm_path.replace(path+'%dx%2d' % (season, episode),'%dx%2d' % (season+1, 1))): + item.contentSeason = item.infoLabels['season'] = season+1 + item.contentEpisodeNumber = item.infoLabels['episode'] = 1 + item.contentTitle = item.infoLabels['title'] = next_season + item.strm_path = next_season_path + logger.info(str(item)) + play_from_library(item) + + elif AP and APS: while not platformtools.is_playing(): pass while platformtools.is_playing(): @@ -486,7 +515,6 @@ def play_from_library(item): sleep(0.5) xbmc.executebuiltin('Action(Back)') - else: # Ventana emergente from specials import videolibrary diff --git a/resources/settings.xml b/resources/settings.xml index 5b2adf9e..a91e3494 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -5,6 +5,7 @@ +