diff --git a/platformcode/launcher.py b/platformcode/launcher.py
index c611cee0..d7e8fc92 100644
--- a/platformcode/launcher.py
+++ b/platformcode/launcher.py
@@ -14,6 +14,7 @@ from core import scrapertools
from core import servertools
from core import trakt_tools
from core import videolibrarytools
+from core import filetools
from core.item import Item
from platformcode import config, logger
from platformcode import platformtools
@@ -441,19 +442,18 @@ def play_from_library(item):
@param item: elemento con información
"""
logger.info()
- #logger.debug("item: \n" + item.tostring('\n'))
+ logger.debug("item: \n" + item.tostring('\n'))
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']
+ path = filetools.join(config.get_videolibrary_path(), config.get_setting("folder_tvshows"))
+ AP = config.get_setting('autoplay')
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,
@@ -468,17 +468,49 @@ def play_from_library(item):
item.action = "findvideos"
window_type = config.get_setting("window_type", "videolibrary")
+ episodes = scrapertools.find_single_match(item.strm_path, '(\d+)x(\d+)')
+ season = int(episodes[0])
+ episode = int(episodes[1])
+
# y volvemos a lanzar kodi
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.1)
+ sleep(0.5)
+ xbmc.executebuiltin('Action(Back)')
+ 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)
+ play_next = False
+ 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
+ play_next = True
+ elif os.path.isfile(path+next_season_path):
+ 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
+ play = True
+
+ if play_next == True and platformtools.dialog_yesno('Prossimo Episodio?', item.contentTitle, nolabel="Sì", yeslabel="No", autoclose=5000) == 0:
+ play_from_library(item)
+
+ elif AP and APS:
+ while not platformtools.is_playing():
+ pass
+ while platformtools.is_playing():
+ pass
+ sleep(0.5)
xbmc.executebuiltin('Action(Back)')
else:
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 @@
+