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:
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):

View File

@@ -129,6 +129,7 @@
<setting id="enable_library_menu" label="30131" type="bool" default="true"/>
<!-- View Mode (hidden)-->
<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_channel" type="action" label="30118" 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
# ------------------------------------------------------------
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: