Possibile fix Per cambio Visuale

This commit is contained in:
Alhaziel01
2020-04-26 15:25:33 +02:00
parent ed56eb4174
commit 67864db59b
3 changed files with 31 additions and 15 deletions

View File

@@ -248,32 +248,44 @@ def getCurrentView(item=None, parent_item=None):
if not item: if not item:
item = Item().fromurl(xbmc.getInfoLabel('Container.ListItem(1).FileNameAndPath')) item = Item().fromurl(xbmc.getInfoLabel('Container.ListItem(1).FileNameAndPath'))
parent_actions = ['peliculas', 'novedades', 'search', 'get_from_temp', 'channel_search', 'newest', 'discover_list', 'new_search'] parent_actions = ['peliculas', 'novedades', 'search', 'get_from_temp', 'channel_search', 'newest', 'discover_list', 'new_search']
mode = None
if parent_item.action == 'findvideos': 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': 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) \ 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 (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.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']: 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) \ elif (item.contentType in ['tvshow'] and parent_item.action in parent_actions) \
or (item.channel in ['videolibrary'] and parent_item.action in ['list_tvshows']): 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']: 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': elif parent_item.action in ['episodios', 'get_episodes'] or item.contentType == 'episode':
return 'episode', 'tvshows' content ='episode'
Type = 'tvshows'
else: 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 set_view_mode(item, parent_item):
def reset_view_mode(): def reset_view_mode():
@@ -285,15 +297,14 @@ def set_view_mode(item, parent_item):
reset_view_mode() reset_view_mode()
xbmcplugin.setContent(handle=int(sys.argv[1]), content='') xbmcplugin.setContent(handle=int(sys.argv[1]), content='')
xbmc.executebuiltin('Container.SetViewMode(%s)' % 55) 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: if mode == 0:
logger.info('default mode') logger.info('default mode')
mode = 55 mode = 55
xbmcplugin.setContent(handle=int(sys.argv[1]), content=Type) xbmcplugin.setContent(handle=int(sys.argv[1]), content=Type)
xbmc.executebuiltin('Container.SetViewMode(%s)' % mode) 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): def render_items_old(itemlist, parent_item):

View File

@@ -129,6 +129,7 @@
<setting id="enable_library_menu" label="30131" type="bool" default="true"/> <setting id="enable_library_menu" label="30131" type="bool" default="true"/>
<!-- View Mode (hidden)--> <!-- View Mode (hidden)-->
<setting id="skin_name" label='Skin Name' type="text" default="skin.estuary" visible="false"/> <setting id="skin_name" label='Skin Name' type="text" default="skin.estuary" visible="false"/>
<setting id="view_mode_time" type="text" label="time" default='0' visible="false"/>
<setting id="view_mode_addon" type="action" label="70009" default= "Default, 0" visible="false"/> <setting id="view_mode_addon" type="action" label="70009" default= "Default, 0" visible="false"/>
<setting id="view_mode_channel" type="action" label="30118" default= "Default, 0" visible="false"/> <setting id="view_mode_channel" type="action" label="30118" default= "Default, 0" visible="false"/>
<setting id="view_mode_movie" type="action" label="30122" default= "Default, 0" visible="false"/> <setting id="view_mode_movie" type="action" label="30122" default= "Default, 0" visible="false"/>

View File

@@ -3,7 +3,7 @@
# Service for updating new episodes on library series # 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 from platformcode import config
try: try:
@@ -16,8 +16,6 @@ except:
sys.path.append(librerias) sys.path.append(librerias)
from core import channeltools, filetools, videolibrarytools from core import channeltools, filetools, videolibrarytools
from platformcode import logger from platformcode import logger
from platformcode import platformtools from platformcode import platformtools
@@ -354,17 +352,23 @@ def callCloudflare():
def viewmodeMonitor(): def viewmodeMonitor():
import xbmcgui import xbmcgui
while True: while True:
start = time.time()
time.sleep(0.5) time.sleep(0.5)
try: try:
currentModeName = xbmc.getInfoLabel('Container.Viewmode') currentModeName = xbmc.getInfoLabel('Container.Viewmode')
win = xbmcgui.Window(xbmcgui.getCurrentWindowId()) win = xbmcgui.Window(xbmcgui.getCurrentWindowId())
currentMode = int(win.getFocusId()) 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 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]) defaultMode = int(config.get_setting('view_mode_%s' % content).split(',')[-1])
if currentMode != defaultMode: 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) logger.info('viewmode changed: ' + currentModeName + '-' + str(currentMode) + ' - content: ' + content)
config.set_setting('view_mode_%s' % content, currentModeName + ', ' + str(currentMode)) config.set_setting('view_mode_%s' % content, currentModeName + ', ' + str(currentMode))
except: except: