diff --git a/plugin.video.alfa/channels/news.py b/plugin.video.alfa/channels/news.py
index bdd44c78..cb0a4fb0 100644
--- a/plugin.video.alfa/channels/news.py
+++ b/plugin.video.alfa/channels/news.py
@@ -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:
diff --git a/plugin.video.alfa/channels/side_menu.py b/plugin.video.alfa/channels/side_menu.py
index d1a42386..ad7faf7c 100644
--- a/plugin.video.alfa/channels/side_menu.py
+++ b/plugin.video.alfa/channels/side_menu.py
@@ -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))
+
+
diff --git a/plugin.video.alfa/fanart-xmas.jpg b/plugin.video.alfa/fanart-xmas.jpg
new file mode 100644
index 00000000..8dad0848
Binary files /dev/null and b/plugin.video.alfa/fanart-xmas.jpg differ
diff --git a/plugin.video.alfa/platformcode/launcher.py b/plugin.video.alfa/platformcode/launcher.py
index 6f100edc..140c1a56 100755
--- a/plugin.video.alfa/platformcode/launcher.py
+++ b/plugin.video.alfa/platformcode/launcher.py
@@ -16,6 +16,7 @@ from platformcode import config, logger
from platformcode import platformtools
+
def start():
""" Primera funcion que se ejecuta al entrar en el plugin.
Dentro de esta funcion deberian ir todas las llamadas a las
@@ -39,10 +40,15 @@ def run(item=None):
else:
if config.get_setting("custom_menu") == True:
category = config.get_setting("category").lower()
- item = Item(channel="news", action="novedades", extra=category, mode = 'silent')
+ 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)
else:
item = Item(channel="channelselector", action="getmainlist", viewmode="movie")
- logger.info(item.tostring())
+ #logger.info(item.tostring())
try:
# If item has no action, stops here
diff --git a/plugin.video.alfa/platformcode/platformtools.py b/plugin.video.alfa/platformcode/platformtools.py
index af880dc4..cc67662e 100644
--- a/plugin.video.alfa/platformcode/platformtools.py
+++ b/plugin.video.alfa/platformcode/platformtools.py
@@ -135,7 +135,7 @@ def render_items(itemlist, parent_item):
if item.fanart:
fanart = item.fanart
else:
- fanart = os.path.join(config.get_runtime_path(), "fanart.jpg")
+ fanart = os.path.join(config.get_runtime_path(), "fanart-xmas.jpg")
# Creamos el listitem
listitem = xbmcgui.ListItem(item.title)
@@ -407,8 +407,15 @@ def set_context_commands(item, parent_item):
item.clone(channel='search',
action="do_search",
from_channel=item.channel,
+
contextual=True).tourl())))
+ if item.action not in ['findvideos', 'play']:
+ context_commands.insert(0, ("[COLOR 0xffccff00]Definir como Inicio[/COLOR]",
+ "XBMC.RunPlugin(%s?%s)" % (
+ sys.argv[0], Item(channel='side_menu',
+ action="set_home",
+ parent=item.tourl()).tourl())))
if item.channel != "videolibrary":
# Añadir Serie a la videoteca
diff --git a/plugin.video.alfa/resources/settings.xml b/plugin.video.alfa/resources/settings.xml
index 375c1414..7012e369 100755
--- a/plugin.video.alfa/resources/settings.xml
+++ b/plugin.video.alfa/resources/settings.xml
@@ -41,7 +41,7 @@
diff --git a/plugin.video.alfa/resources/skins/Default/media/side_menu/bg.png b/plugin.video.alfa/resources/skins/Default/media/side_menu/bg.png
index 03ae8aeb..3e0df58f 100644
Binary files a/plugin.video.alfa/resources/skins/Default/media/side_menu/bg.png and b/plugin.video.alfa/resources/skins/Default/media/side_menu/bg.png differ
diff --git a/plugin.video.alfa/resources/skins/Default/media/side_menu/selected.png b/plugin.video.alfa/resources/skins/Default/media/side_menu/selected.png
index b28f402e..82314752 100644
Binary files a/plugin.video.alfa/resources/skins/Default/media/side_menu/selected.png and b/plugin.video.alfa/resources/skins/Default/media/side_menu/selected.png differ