From 67864db59bde786ef1fe34a791526bfb0a8e285c Mon Sep 17 00:00:00 2001 From: Alhaziel01 Date: Sun, 26 Apr 2020 15:25:33 +0200 Subject: [PATCH] Possibile fix Per cambio Visuale --- platformcode/platformtools.py | 31 +++++++++++++++++++++---------- resources/settings.xml | 1 + service.py | 14 +++++++++----- 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/platformcode/platformtools.py b/platformcode/platformtools.py index 44f24ac3..efa9c60c 100644 --- a/platformcode/platformtools.py +++ b/platformcode/platformtools.py @@ -248,32 +248,44 @@ def getCurrentView(item=None, parent_item=None): if not item: item = Item().fromurl(xbmc.getInfoLabel('Container.ListItem(1).FileNameAndPath')) parent_actions = ['peliculas', 'novedades', 'search', 'get_from_temp', 'channel_search', 'newest', 'discover_list', 'new_search'] + mode = None if parent_item.action == 'findvideos': - return 'server', '' + content = 'server' + mode = int(config.get_setting('view_mode_%s' % content).split(',')[-1]) + Type = '' if mode == 55 else 'addons' elif parent_item.action == 'mainlist': - return 'channel', '' + content = 'channel' + mode = int(config.get_setting('view_mode_%s' % content).split(',')[-1]) + Type = '' if mode == 55 else 'addons' elif (item.contentType in ['movie'] and parent_item.action in parent_actions) \ or (item.channel in ['videolibrary'] and parent_item.action in ['list_movies']) \ or (parent_item.channel in ['favorites'] and parent_item.action in ['mainlist']) \ or parent_item.action in ['now_on_tv', 'now_on_misc', 'now_on_misc_film', 'mostrar_perfil']: - return 'movie', 'movies' + content ='movie' + Type = 'movies' elif (item.contentType in ['tvshow'] and parent_item.action in parent_actions) \ or (item.channel in ['videolibrary'] and parent_item.action in ['list_tvshows']): - return 'tvshow', 'tvshows' + content = 'tvshow' + Type = 'tvshows' elif parent_item.action in ['get_seasons']: - return 'season', 'tvshows' + content ='season' + Type = 'tvshows' elif parent_item.action in ['episodios', 'get_episodes'] or item.contentType == 'episode': - return 'episode', 'tvshows' + content ='episode' + Type = 'tvshows' else: - return 'addon', '' + content ='addon' + mode = int(config.get_setting('view_mode_%s' % content).split(',')[-1]) + Type = '' if mode == 55 else 'addons' + return content, Type, mode if mode else int(config.get_setting('view_mode_%s' % content).split(',')[-1]) def set_view_mode(item, parent_item): def reset_view_mode(): @@ -285,15 +297,14 @@ def set_view_mode(item, parent_item): reset_view_mode() xbmcplugin.setContent(handle=int(sys.argv[1]), content='') xbmc.executebuiltin('Container.SetViewMode(%s)' % 55) + content, Type, mode= getCurrentView(item, parent_item) - content, Type = getCurrentView(item, parent_item) - mode = int(config.get_setting('view_mode_%s' % content).split(',')[-1]) if mode == 0: logger.info('default mode') mode = 55 xbmcplugin.setContent(handle=int(sys.argv[1]), content=Type) xbmc.executebuiltin('Container.SetViewMode(%s)' % mode) - logger.info('TYPE: ' + Type + ' - ' + 'CONTENT: ' + content) + logger.info('TYPE: ' + Type + ' - CONTENT: ' + content + ' - MODE:' + str(mode)) def render_items_old(itemlist, parent_item): diff --git a/resources/settings.xml b/resources/settings.xml index 3265ba62..8f9a97fb 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -129,6 +129,7 @@ + diff --git a/service.py b/service.py index e9495a2c..7ce8a99e 100644 --- a/service.py +++ b/service.py @@ -3,7 +3,7 @@ # Service for updating new episodes on library series # ------------------------------------------------------------ -import datetime, imp, math, threading, traceback, sys, glob +import datetime, imp, math, threading, traceback, sys, glob, time from platformcode import config try: @@ -16,8 +16,6 @@ except: sys.path.append(librerias) - - from core import channeltools, filetools, videolibrarytools from platformcode import logger from platformcode import platformtools @@ -354,17 +352,23 @@ def callCloudflare(): def viewmodeMonitor(): import xbmcgui - while True: + start = time.time() time.sleep(0.5) try: currentModeName = xbmc.getInfoLabel('Container.Viewmode') win = xbmcgui.Window(xbmcgui.getCurrentWindowId()) currentMode = int(win.getFocusId()) if currentModeName and 'plugin.video.kod' in xbmc.getInfoLabel('Container.FolderPath') and currentMode < 1000 and currentMode > 50: # inside addon and in itemlist view - content, Type = platformtools.getCurrentView() + content, Type, mode = platformtools.getCurrentView() defaultMode = int(config.get_setting('view_mode_%s' % content).split(',')[-1]) if currentMode != defaultMode: + if content in ['addon', 'server', 'channel'] and currentMode != 55 and Type == '': + config.set_setting('view_mode_time', str(time.time())) + xbmc.executebuiltin("Container.Refresh") + if content in ['addon', 'server', 'channel'] and currentMode == 55 and time.time() - float(config.get_setting('view_mode_time')) > 3: + xbmc.executebuiltin("Container.Refresh") + logger.info('viewmode changed: ' + currentModeName + '-' + str(currentMode) + ' - content: ' + content) config.set_setting('view_mode_%s' % content, currentModeName + ', ' + str(currentMode)) except: