Agregada opcion para poner inicio desde cualquier canal

This commit is contained in:
Unknown
2017-11-29 13:08:51 -03:00
parent aa5fa6d275
commit ef962d7ed2
8 changed files with 141 additions and 42 deletions
+2 -11
View File
@@ -16,6 +16,7 @@ from core.item import Item
from platformcode import config, logger
from platformcode import platformtools
from core import jsontools
from channels import side_menu
THUMBNAILS = {'0': 'posters', '1': 'banners', '2': 'squares'}
@@ -205,16 +206,6 @@ def add_menu_items(item, itemlist):
return itemlist
def set_menu_settings(item):
if os.path.exists(menu_settings_path):
menu_node = jsontools.get_node_from_file('menu_settings_data.json', 'menu')
else:
menu_node = {}
menu_node['categoria actual'] = item.extra
jsontools.update_node(menu_node, 'menu_settings_data.json', "menu")
def novedades(item):
logger.info()
@@ -248,7 +239,7 @@ def novedades(item):
list_canales, any_active = get_channels_list()
if mode=='silent' and any_active and len(list_canales[item.extra]) > 0:
set_menu_settings(item)
side_menu.set_menu_settings(item)
aux_list=[]
for canal in list_canales[item.extra]:
if len(aux_list)<2:
+122 -27
View File
@@ -9,8 +9,17 @@ from platformcode import launcher
import xbmc, xbmcgui, xbmcplugin, xbmcaddon
media_path = os.path.join(config.get_runtime_path(), "resources/skins/Default/media/side_menu/")
menu_settings_path = os.path.join(config.get_data_path(), "settings_channels", 'menu_settings_data.json')
if os.path.exists(menu_settings_path):
menu_node = jsontools.get_node_from_file('menu_setting_data.json', 'menu')
else:
menu_node = {'categoria actual':config.get_setting('category')}
jsontools.update_node(menu_node, 'menu_settings_data.json', "menu")
menu_node = jsontools.get_node_from_file('menu_settings_data.json', 'menu')
category = menu_node['categoria actual']
if 'categoria actual' in menu_node:
category = menu_node['categoria actual']
ACTION_SHOW_FULLSCREEN = 36
ACTION_GESTURE_SWIPE_LEFT = 511
@@ -21,6 +30,49 @@ ACTION_MOVE_RIGHT = 2
ACTION_MOVE_DOWN = 4
ACTION_MOVE_UP = 3
def set_menu_settings(item):
if os.path.exists(menu_settings_path):
menu_node = jsontools.get_node_from_file('menu_settings_data.json', 'menu')
else:
menu_node = {}
menu_node['categoria actual'] = item.extra
jsontools.update_node(menu_node, 'menu_settings_data.json', "menu")
def check_user_home(item):
logger.info()
if os.path.exists(menu_settings_path):
menu_node = jsontools.get_node_from_file('menu_settings_data.json', 'menu')
if 'user_home' in menu_node:
item = Item().fromurl(menu_node['user_home'])
else:
item = Item(channel="channelselector", action="getmainlist", viewmode="movie")
return item
def set_home(item):
logger.info()
if os.path.exists(menu_settings_path):
menu_node = jsontools.get_node_from_file('menu_settings_data.json', 'menu')
parent_item= Item().fromurl(item.parent)
logger.debug(item)
logger.debug(parent_item)
menu_node['user_home']=item.parent
jsontools.update_node(menu_node, 'menu_settings_data.json', "menu")
def get_start_page():
logger.info()
category = config.get_setting('category').lower()
if category != 'definido':
item = Item(channel="news", action="novedades", extra=category, mode='silent')
else:
from channels import side_menu
item = Item()
item = side_menu.check_user_home(item)
return item
def open_menu(item):
@@ -37,27 +89,37 @@ class Main(xbmcgui.WindowXMLDialog):
self.setCoordinateResolution(2)
self.focus = -1
self.buttons = []
posx= 22
posx= 0
posy= 170
space = 30
selected = 'selected.png'
width = 216
width = 260
height = 30
textcolor = "0xff000000"
shadow = "0xFFffff00"
textcolor = "0xffffd700"
shadow = "0xFF000000"
offsetx = 30
font = 'font32_title'
label = 'Menú Clasico'
self.button_alfa = xbmcgui.ControlButton(posx, posy, width, height, label, font='font14', alignment=0x00000000,
self.button_alfa = xbmcgui.ControlButton(posx, posy, width, height, label, font=font, alignment=0x00000000,
noFocusTexture='', focusTexture=media_path+selected,
textColor=textcolor, shadowColor=shadow, textOffsetX=offsetx,
textOffsetY=-3)
self.addControl(self.button_alfa)
self.buttons.append(self.button_alfa)
posy += space*2
label = 'Inicio'
self.button_start = xbmcgui.ControlButton(posx, posy, width, height, label, font=font, alignment=0x00000000,
noFocusTexture='', focusTexture=media_path + selected,
textColor=textcolor, shadowColor=shadow, textOffsetX=offsetx,
textOffsetY=-3)
self.addControl(self.button_start)
self.buttons.append(self.button_start)
posy += space*2
label = 'Peliculas'
self.button_peliculas = xbmcgui.ControlButton(posx, posy, width, height, label, font='font14',
self.button_peliculas = xbmcgui.ControlButton(posx, posy, width, height, label, font=font,
alignment=0x00000000, noFocusTexture='',
focusTexture=media_path+selected, textColor=textcolor,
shadowColor=shadow, textOffsetX=offsetx, textOffsetY=-3)
@@ -65,7 +127,7 @@ class Main(xbmcgui.WindowXMLDialog):
self.buttons.append(self.button_peliculas)
posy += space
label = 'Series'
self.button_series = xbmcgui.ControlButton(posx, posy, width, height, label, font='font14',
self.button_series = xbmcgui.ControlButton(posx, posy, width, height, label, font=font,
alignment=0x00000000, noFocusTexture='',
focusTexture=media_path+selected, textColor=textcolor,
shadowColor=shadow, textOffsetX=offsetx, textOffsetY=-3)
@@ -73,7 +135,7 @@ class Main(xbmcgui.WindowXMLDialog):
self.buttons.append(self.button_series)
posy += space
label = 'Anime'
self.button_anime = xbmcgui.ControlButton(posx, posy, width, height, label, font='font14', alignment=0x00000000,
self.button_anime = xbmcgui.ControlButton(posx, posy, width, height, label, font=font, alignment=0x00000000,
noFocusTexture='', focusTexture=media_path+selected,
textColor=textcolor, shadowColor=shadow, textOffsetX=offsetx,
textOffsetY=-3)
@@ -81,7 +143,7 @@ class Main(xbmcgui.WindowXMLDialog):
self.buttons.append(self.button_anime)
posy += space
label = 'Infantiles'
self.button_infantil = xbmcgui.ControlButton(posx, posy, width, height, label, font='font14',
self.button_infantil = xbmcgui.ControlButton(posx, posy, width, height, label, font=font,
alignment=0x00000000, noFocusTexture='',
focusTexture=media_path+selected, textColor=textcolor,
shadowColor=shadow, textOffsetX=offsetx, textOffsetY=-3)
@@ -89,7 +151,7 @@ class Main(xbmcgui.WindowXMLDialog):
self.buttons.append(self.button_infantil)
posy += space
label = 'Documentales'
self.button_docu = xbmcgui.ControlButton(posx, posy, width, height, label, font='font14',
self.button_docu = xbmcgui.ControlButton(posx, posy, width, height, label, font=font,
alignment=0x00000000, noFocusTexture='',
focusTexture=media_path + selected, textColor=textcolor,
shadowColor=shadow, textOffsetX=offsetx, textOffsetY=-3)
@@ -98,31 +160,32 @@ class Main(xbmcgui.WindowXMLDialog):
posy += space
label = 'Terror'
self.button_terror = xbmcgui.ControlButton(posx, posy, width, height, label, font='font14',
self.button_terror = xbmcgui.ControlButton(posx, posy, width, height, label, font=font,
alignment=0x00000000, noFocusTexture='',
focusTexture=media_path+selected, textColor=textcolor,
shadowColor=shadow, textOffsetX=offsetx, textOffsetY=-3)
self.addControl(self.button_terror)
self.buttons.append(self.button_terror)
posy += space
label = 'Castellano'
self.button_cast = xbmcgui.ControlButton(posx, posy, width, height, label, font='font14', alignment=0x00000000,
noFocusTexture='', focusTexture=media_path+selected,
textColor=textcolor, shadowColor=shadow, textOffsetX=offsetx,
textOffsetY=-3)
self.addControl(self.button_cast)
self.buttons.append(self.button_cast)
posy += space
label = 'Latino'
self.button_lat = xbmcgui.ControlButton(posx, posy, width, height, label, font='font14', alignment=0x00000000,
self.button_lat = xbmcgui.ControlButton(posx, posy, width, height, label, font=font, alignment=0x00000000,
noFocusTexture='', focusTexture=media_path+selected,
textColor=textcolor, shadowColor=shadow, textOffsetX=offsetx,
textOffsetY=-3)
self.addControl(self.button_lat)
self.buttons.append(self.button_lat)
posy += space
label = 'Castellano'
self.button_cast = xbmcgui.ControlButton(posx, posy, width, height, label, font=font, alignment=0x00000000,
noFocusTexture='', focusTexture=media_path + selected,
textColor=textcolor, shadowColor=shadow, textOffsetX=offsetx,
textOffsetY=-3)
self.addControl(self.button_cast)
self.buttons.append(self.button_cast)
posy += space
label = 'Torrents'
self.button_torrent = xbmcgui.ControlButton(posx, posy, width, height, label, font='font14',
self.button_torrent = xbmcgui.ControlButton(posx, posy, width, height, label, font=font,
alignment=0x00000000, noFocusTexture='',
focusTexture=media_path+selected, textColor=textcolor,
shadowColor=shadow, textOffsetX=offsetx, textOffsetY=-3)
@@ -130,24 +193,47 @@ class Main(xbmcgui.WindowXMLDialog):
self.buttons.append(self.button_torrent)
posy += space
label = 'Canales Activos'
self.button_config = xbmcgui.ControlButton(posx, posy, width, height, label, font='font14',
self.button_config = xbmcgui.ControlButton(posx, posy, width, height, label, font=font,
alignment=0x00000000, noFocusTexture='',
focusTexture=media_path+selected, textColor=textcolor,
shadowColor=shadow, textOffsetX=offsetx, textOffsetY=-3)
self.addControl(self.button_config)
self.buttons.append(self.button_config)
posy += space*2
label = 'Buscar'
self.button_buscar = xbmcgui.ControlButton(posx, posy, width, height, label, font=font, alignment=0x00000000,
noFocusTexture='', focusTexture=media_path + selected,
textColor=textcolor, shadowColor=shadow, textOffsetX=offsetx,
textOffsetY=-3)
self.addControl(self.button_buscar)
self.buttons.append(self.button_buscar)
posy += space
label = 'Buscar Actor'
self.button_actor = xbmcgui.ControlButton(posx, posy, width, height, label, font=font, alignment=0x00000000,
noFocusTexture='', focusTexture=media_path + selected,
textColor=textcolor, shadowColor=shadow, textOffsetX=offsetx,
textOffsetY=-3)
self.addControl(self.button_actor)
self.buttons.append(self.button_actor)
label=''
self.button_close = xbmcgui.ControlButton(260, 0, 1020, 725, label, noFocusTexture='', focusTexture='')
self.addControl(self.button_close)
def onClick(self, control):
new_item=''
control = self.getControl(control).getLabel()
menu_node['categoria actual'] = control.lower()
jsontools.update_node(menu_node, 'menu_settings_data.json', "menu")
if control == u'Menú Clasico':
new_item = Item(channel='', action='getmainlist', title='Menú Alfa')
elif control == 'Inicio':
new_item = get_start_page()
elif control == 'Peliculas':
new_item = Item(channel='news', action="novedades", extra="peliculas", mode='silent')
elif control == 'Series':
@@ -168,9 +254,16 @@ class Main(xbmcgui.WindowXMLDialog):
new_item = Item(channel='news', action="novedades", extra="torrent", mode='silent')
elif control == 'Canales Activos':
new_item = Item(channel='news', action="setting_channel", extra=category, menu=True)
elif control == 'Buscar':
new_item = Item(channel='search', action="search")
elif control == 'Buscar Actor':
new_item = Item(channel='tvmoviedb', title="Buscar actor/actriz", action="search_",
search={'url': 'search/person', 'language': 'es', 'page': 1}, star=True)
elif control == '':
self.close()
if new_item !='':
if new_item !='' and new_item !='definido':
self.run_action(new_item)
elif new_item == 'definido':
self.run_action(new_item)
def onAction(self, action):
@@ -208,3 +301,5 @@ class Main(xbmcgui.WindowXMLDialog):
self.close()
xbmc.executebuiltin("Container.update(%s)"%launcher.run(item))