From 5c90256a3ddd4e6627b8952814ae74fba970accb Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 24 Nov 2017 16:54:15 -0300 Subject: [PATCH] Menu personalizado + Menu Rapido --- plugin.video.alfa/channels/news.py | 156 +++++++++++-- .../channels/peliculasaudiolatino.py | 2 +- plugin.video.alfa/channels/side_menu.py | 210 ++++++++++++++++++ plugin.video.alfa/channels/verpelis.py | 2 +- plugin.video.alfa/core/jsontools.py | 2 +- plugin.video.alfa/platformcode/launcher.py | 7 +- .../platformcode/platformtools.py | 21 +- .../media/themes/default/thumb_menu.png | Bin 0 -> 18430 bytes .../media/themes/default/thumb_more.png | Bin 0 -> 9103 bytes plugin.video.alfa/resources/settings.xml | 6 + .../skins/Default/720p/side_menu.xml | 27 +++ .../skins/Default/media/side_menu/bg.png | Bin 0 -> 6863 bytes .../skins/Default/media/side_menu/logo.png | Bin 0 -> 24373 bytes .../Default/media/side_menu/selected.png | Bin 0 -> 315 bytes 14 files changed, 401 insertions(+), 32 deletions(-) create mode 100644 plugin.video.alfa/channels/side_menu.py create mode 100644 plugin.video.alfa/resources/media/themes/default/thumb_menu.png create mode 100644 plugin.video.alfa/resources/media/themes/default/thumb_more.png create mode 100644 plugin.video.alfa/resources/skins/Default/720p/side_menu.xml create mode 100644 plugin.video.alfa/resources/skins/Default/media/side_menu/bg.png create mode 100644 plugin.video.alfa/resources/skins/Default/media/side_menu/logo.png create mode 100644 plugin.video.alfa/resources/skins/Default/media/side_menu/selected.png diff --git a/plugin.video.alfa/channels/news.py b/plugin.video.alfa/channels/news.py index b2d48c92..bdd44c78 100644 --- a/plugin.video.alfa/channels/news.py +++ b/plugin.video.alfa/channels/news.py @@ -15,6 +15,7 @@ from core import scrapertools from core.item import Item from platformcode import config, logger from platformcode import platformtools +from core import jsontools THUMBNAILS = {'0': 'posters', '1': 'banners', '2': 'squares'} @@ -27,11 +28,16 @@ perfil = [['0xFF0B7B92', '0xFF89FDFB', '0xFFACD5D4'], ['0xFFA5DEE5', '0xFFE0F9B5', '0xFFFEFDCA'], ['0xFFF23557', '0xFF22B2DA', '0xFFF0D43A']] +#color1, color2, color3 = ["white", "white", "white"] color1, color2, color3 = perfil[__perfil__] list_newest = [] +list_newest_tourl = [] channels_id_name = {} +menu_cache_path = os.path.join(config.get_data_path(), "settings_channels", 'menu_cache_data.json') +menu_settings_path = os.path.join(config.get_data_path(), "settings_channels", 'menu_settings_data.json') + def mainlist(item): logger.info() @@ -150,6 +156,64 @@ def get_channels_list(): return list_canales, any_active +def set_cache(item): + logger.info() + item.mode = 'set_cache' + t = Thread(target=novedades, args=[item]) + t.start() + #t.join() + +def get_from_cache(item): + logger.info() + itemlist=[] + cache_node = jsontools.get_node_from_file('menu_cache_data.json', 'cached') + first=item.last + last = first+40 + #if last >=len(cache_node[item.extra]): + # last = len(cache_node[item.extra]) + + for cached_item in cache_node[item.extra][first:last]: + new_item= Item() + new_item = new_item.fromurl(cached_item) + itemlist.append(new_item) + if item.mode == 'silent': + set_cache(item) + if last >= len(cache_node[item.extra]): + item.mode='finish' + itemlist = add_menu_items(item, itemlist) + else: + item.mode='get_cached' + item.last =last + itemlist = add_menu_items(item, itemlist) + + return itemlist + +def add_menu_items(item, itemlist): + logger.info() + + menu_icon = get_thumb('menu.png') + menu = Item(channel="channelselector", action="getmainlist", viewmode="movie", thumbnail=menu_icon, title='Menu') + itemlist.insert(0, menu) + if item.mode != 'finish': + if item.mode == 'get_cached': + last=item.last + else: + last = len(itemlist) + refresh_icon = get_thumb('more.png') + refresh = item.clone(thumbnail=refresh_icon, mode='get_cached',title='Mas', last=last) + itemlist.insert(len(itemlist), refresh) + + 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() @@ -159,6 +223,14 @@ def novedades(item): list_newest = [] start_time = time.time() + mode = item.mode + if mode == '': + mode = 'normal' + + if mode=='get_cached': + if os.path.exists(menu_cache_path): + return get_from_cache(item) + multithread = config.get_setting("multithread", "news") logger.info("multithread= " + str(multithread)) @@ -170,8 +242,22 @@ def novedades(item): if config.set_setting("multithread", True, "news"): multithread = True - progreso = platformtools.dialog_progress(item.category, "Buscando canales...") + if mode == 'normal': + progreso = platformtools.dialog_progress(item.category, "Buscando canales...") + list_canales, any_active = get_channels_list() + + if mode=='silent' and any_active and len(list_canales[item.extra]) > 0: + set_menu_settings(item) + aux_list=[] + for canal in list_canales[item.extra]: + if len(aux_list)<2: + aux_list.append(canal) + list_canales[item.extra]=aux_list + + if mode == 'set_cache': + list_canales[item.extra] = list_canales[item.extra][2:] + if any_active and len(list_canales[item.extra])>0: import math # fix float porque la division se hace mal en python 2.x @@ -191,12 +277,14 @@ def novedades(item): t = Thread(target=get_newest, args=[channel_id, item.extra], name=channel_title) t.start() threads.append(t) - progreso.update(percentage, "", "Buscando en '%s'..." % channel_title) + if mode == 'normal': + progreso.update(percentage, "", "Buscando en '%s'..." % channel_title) # Modo single Thread else: - logger.info("Obteniendo novedades de channel_id=" + channel_id) - progreso.update(percentage, "", "Buscando en '%s'..." % channel_title) + if mode == 'normal': + logger.info("Obteniendo novedades de channel_id=" + channel_id) + progreso.update(percentage, "", "Buscando en '%s'..." % channel_title) get_newest(channel_id, item.extra) # Modo Multi Thread: esperar q todos los hilos terminen @@ -208,25 +296,29 @@ def novedades(item): percentage = int(math.ceil(index * t)) list_pendent_names = [a.getName() for a in pendent] - mensaje = "Buscando en %s" % (", ".join(list_pendent_names)) - progreso.update(percentage, "Finalizado en %d/%d canales..." % (len(threads) - len(pendent), len(threads)), + if mode == 'normal': + mensaje = "Buscando en %s" % (", ".join(list_pendent_names)) + progreso.update(percentage, "Finalizado en %d/%d canales..." % (len(threads) - len(pendent), len(threads)), mensaje) - logger.debug(mensaje) + logger.debug(mensaje) - if progreso.iscanceled(): - logger.info("Busqueda de novedades cancelada") - break + if progreso.iscanceled(): + logger.info("Busqueda de novedades cancelada") + break time.sleep(0.5) pendent = [a for a in threads if a.isAlive()] - - mensaje = "Resultados obtenidos: %s | Tiempo: %2.f segundos" % (len(list_newest), time.time() - start_time) - progreso.update(100, mensaje, " ", " ") - logger.info(mensaje) - start_time = time.time() - # logger.debug(start_time) + if mode == 'normal': + mensaje = "Resultados obtenidos: %s | Tiempo: %2.f segundos" % (len(list_newest), time.time() - start_time) + progreso.update(100, mensaje, " ", " ") + logger.info(mensaje) + start_time = time.time() + # logger.debug(start_time) result_mode = config.get_setting("result_mode", "news") + if mode != 'normal': + result_mode=0 + if result_mode == 0: # Agrupados por contenido ret = group_by_content(list_newest) elif result_mode == 1: # Agrupados por canales @@ -237,13 +329,19 @@ def novedades(item): while time.time() - start_time < 2: # mostrar cuadro de progreso con el tiempo empleado durante almenos 2 segundos time.sleep(0.5) - - progreso.close() - return ret + if mode == 'normal': + progreso.close() + if mode == 'silent': + set_cache(item) + item.mode = 'set_cache' + ret = add_menu_items(item, ret) + if mode != 'set_cache': + return ret else: - no_channels = platformtools.dialog_ok('Novedades - %s'%item.extra, 'No se ha definido ningun canal para la ' - 'busqueda.','Utilice el menu contextual ' - 'para agregar al menos uno') + if mode != 'set_cache': + no_channels = platformtools.dialog_ok('Novedades - %s'%item.extra, 'No se ha definido ningun canal para la ' + 'busqueda.','Utilice el menu contextual ' + 'para agregar al menos uno') return @@ -251,6 +349,7 @@ def get_newest(channel_id, categoria): logger.info("channel_id=" + channel_id + ", categoria=" + categoria) global list_newest + global list_newest_tourl # Solicitamos las novedades de la categoria (item.extra) buscada en el canal channel # Si no existen novedades para esa categoria en el canal devuelve una lista vacia @@ -271,11 +370,22 @@ def get_newest(channel_id, categoria): logger.info("running channel " + modulo.__name__ + " " + modulo.__file__) list_result = modulo.newest(categoria) logger.info("canal= %s %d resultados" % (channel_id, len(list_result))) - + exist=False + if os.path.exists(menu_cache_path): + cache_node = jsontools.get_node_from_file('menu_cache_data.json', 'cached') + exist=True + else: + cache_node = {} + #logger.debug('cache node: %s' % cache_node) for item in list_result: # logger.info("item="+item.tostring()) item.channel = channel_id list_newest.append(item) + list_newest_tourl.append(item.tourl()) + + cache_node[categoria] = list_newest_tourl + + jsontools.update_node(cache_node, 'menu_cache_data.json', "cached") except: logger.error("No se pueden recuperar novedades de: " + channel_id) diff --git a/plugin.video.alfa/channels/peliculasaudiolatino.py b/plugin.video.alfa/channels/peliculasaudiolatino.py index 8ab94e70..437a3dd2 100644 --- a/plugin.video.alfa/channels/peliculasaudiolatino.py +++ b/plugin.video.alfa/channels/peliculasaudiolatino.py @@ -43,7 +43,7 @@ def newest(categoria): elif categoria == 'terror': item.url = HOST + '/genero/terror.html' itemlist = peliculas(item) - if "Pagina" in itemlist[-1].title: + if ">> Página siguiente" in itemlist[-1].title: itemlist.pop() except: import sys diff --git a/plugin.video.alfa/channels/side_menu.py b/plugin.video.alfa/channels/side_menu.py new file mode 100644 index 00000000..d1a42386 --- /dev/null +++ b/plugin.video.alfa/channels/side_menu.py @@ -0,0 +1,210 @@ +# -*- coding: utf-8 -*- +# ------------------------------------------------------------ + +import os +from core.item import Item +from core import jsontools +from platformcode import config, logger +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_node = jsontools.get_node_from_file('menu_settings_data.json', 'menu') +category = menu_node['categoria actual'] + +ACTION_SHOW_FULLSCREEN = 36 +ACTION_GESTURE_SWIPE_LEFT = 511 +ACTION_SELECT_ITEM = 7 +ACTION_PREVIOUS_MENU = 10 +ACTION_MOVE_LEFT = 1 +ACTION_MOVE_RIGHT = 2 +ACTION_MOVE_DOWN = 4 +ACTION_MOVE_UP = 3 + + + +def open_menu(item): + main = Main('side_menu.xml', config.get_runtime_path()) + main.doModal() + del main + + +class Main(xbmcgui.WindowXMLDialog): + def __init__(self, *args, **kwargs): + self.items = [] + + def onInit(self): + self.setCoordinateResolution(2) + self.focus = -1 + self.buttons = [] + posx= 22 + posy= 170 + space = 30 + + selected = 'selected.png' + width = 216 + height = 30 + textcolor = "0xff000000" + shadow = "0xFFffff00" + offsetx = 30 + + label = 'Menú Clasico' + self.button_alfa = 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_alfa) + self.buttons.append(self.button_alfa) + posy += space*2 + label = 'Peliculas' + self.button_peliculas = 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_peliculas) + self.buttons.append(self.button_peliculas) + posy += space + label = 'Series' + self.button_series = 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_series) + self.buttons.append(self.button_series) + posy += space + label = 'Anime' + self.button_anime = 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_anime) + self.buttons.append(self.button_anime) + posy += space + label = 'Infantiles' + self.button_infantil = 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_infantil) + self.buttons.append(self.button_infantil) + posy += space + label = 'Documentales' + self.button_docu = 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_docu) + self.buttons.append(self.button_docu) + posy += space + + label = 'Terror' + self.button_terror = 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_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, + 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 = 'Torrents' + self.button_torrent = 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_torrent) + self.buttons.append(self.button_torrent) + posy += space + label = 'Canales Activos' + self.button_config = 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_config) + self.buttons.append(self.button_config) + + 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() + if control == u'Menú Clasico': + new_item = Item(channel='', action='getmainlist', title='Menú Alfa') + elif control == 'Peliculas': + new_item = Item(channel='news', action="novedades", extra="peliculas", mode='silent') + elif control == 'Series': + new_item = Item(channel='news', action="novedades", extra="series", mode='silent') + elif control == 'Anime': + new_item = Item(channel='news', action="novedades", extra="anime", mode='silent') + elif control == 'Infantiles': + new_item = Item(channel='news', action="novedades", extra="infantiles", mode='silent') + elif control == 'Documentales': + new_item = Item(channel='news', action="novedades", extra="documentales", mode='silent') + elif control == 'Terror': + new_item = Item(channel='news', action="novedades", extra="terror", mode='silent') + elif control == 'Castellano': + new_item = Item(channel='news', action="novedades", extra="castellano", mode='silent') + elif control == 'Latino': + new_item = Item(channel='news', action="novedades", extra="latino", mode='silent') + elif control == 'Torrents': + 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 == '': + self.close() + if new_item !='': + self.run_action(new_item) + + def onAction(self, action): + + if action == ACTION_PREVIOUS_MENU or action == ACTION_GESTURE_SWIPE_LEFT or action == 110 or action == 92: + self.close() + + if action == ACTION_MOVE_RIGHT or action == ACTION_MOVE_DOWN: + if self.focus < len(self.buttons) - 1: + self.focus += 1 + while True: + id_focus = str(self.buttons[self.focus].getId()) + if xbmc.getCondVisibility('[Control.IsVisible(' + id_focus + ')]'): + self.setFocus(self.buttons[self.focus]) + break + self.focus += 1 + if self.focus == len(self.buttons): + break + + if action == ACTION_MOVE_LEFT or action == ACTION_MOVE_UP: + if self.focus > 0: + self.focus -= 1 + while True: + id_focus = str(self.buttons[self.focus].getId()) + if xbmc.getCondVisibility('[Control.IsVisible(' + id_focus + ')]'): + self.setFocus(self.buttons[self.focus]) + break + self.focus -= 1 + if self.focus == len(self.buttons): + break + + def run_action(self, item): + logger.info() + if item.menu != True: + self.close() + xbmc.executebuiltin("Container.update(%s)"%launcher.run(item)) + diff --git a/plugin.video.alfa/channels/verpelis.py b/plugin.video.alfa/channels/verpelis.py index c2b5405b..3cb22c18 100644 --- a/plugin.video.alfa/channels/verpelis.py +++ b/plugin.video.alfa/channels/verpelis.py @@ -217,7 +217,7 @@ def newest(categoria): return [] itemlist = scraper(item) - if itemlist[-1].title == "» Siguiente »": + if itemlist[-1].title == "[COLOR crimson]Siguiente >>[/COLOR]": itemlist.pop() # Se captura la excepción, para no interrumpir al canal novedades si un canal falla diff --git a/plugin.video.alfa/core/jsontools.py b/plugin.video.alfa/core/jsontools.py index 74edfb25..8727ea9a 100755 --- a/plugin.video.alfa/core/jsontools.py +++ b/plugin.video.alfa/core/jsontools.py @@ -104,7 +104,7 @@ def get_node_from_file(name_file, node, path=None): if node in dict_data: dict_node = dict_data[node] - logger.debug("dict_node: %s" % dict_node) + #logger.debug("dict_node: %s" % dict_node) return dict_node diff --git a/plugin.video.alfa/platformcode/launcher.py b/plugin.video.alfa/platformcode/launcher.py index 18ca763d..6f100edc 100755 --- a/plugin.video.alfa/platformcode/launcher.py +++ b/plugin.video.alfa/platformcode/launcher.py @@ -37,8 +37,11 @@ def run(item=None): # If no item, this is mainlist else: - item = Item(channel="channelselector", action="getmainlist", viewmode="movie") - + if config.get_setting("custom_menu") == True: + category = config.get_setting("category").lower() + item = Item(channel="news", action="novedades", extra=category, mode = 'silent') + else: + item = Item(channel="channelselector", action="getmainlist", viewmode="movie") logger.info(item.tostring()) try: diff --git a/plugin.video.alfa/platformcode/platformtools.py b/plugin.video.alfa/platformcode/platformtools.py index 1b20f372..af880dc4 100644 --- a/plugin.video.alfa/platformcode/platformtools.py +++ b/plugin.video.alfa/platformcode/platformtools.py @@ -95,6 +95,7 @@ def render_items(itemlist, parent_item): """ # Si el itemlist no es un list salimos if not type(itemlist) == list: + return # Si no hay ningun item, mostramos un aviso @@ -103,7 +104,6 @@ def render_items(itemlist, parent_item): # Recorremos el itemlist for item in itemlist: - # logger.debug(item) # Si el item no contiene categoria, le ponemos la del item padre if item.category == "": item.category = parent_item.category @@ -181,7 +181,6 @@ def render_items(itemlist, parent_item): if config.get_setting("forceview"): # ...forzamos segun el viewcontent xbmcplugin.setContent(int(sys.argv[1]), parent_item.viewcontent) - # logger.debug(parent_item) elif parent_item.channel not in ["channelselector", ""]: # ... o segun el canal xbmcplugin.setContent(int(sys.argv[1]), "movies") @@ -199,9 +198,12 @@ def render_items(itemlist, parent_item): if config.get_setting("forceview"): viewmode_id = get_viewmode_id(parent_item) xbmc.executebuiltin("Container.SetViewMode(%s)" % viewmode_id) + if parent_item.mode in ['silent', 'get_cached', 'set_cache','finish']: + xbmc.executebuiltin("Container.SetViewMode(500)") def get_viewmode_id(parent_item): + # viewmode_json habria q guardarlo en un archivo y crear un metodo para q el user fije sus preferencias en: # user_files, user_movies, user_tvshows, user_season y user_episodes. viewmode_json = {'skin.confluence': {'default_files': 50, @@ -393,7 +395,6 @@ def set_context_commands(item, parent_item): (sys.argv[0], item.clone(channel="favorites", action="addFavourite", from_channel=item.channel, from_action=item.action).tourl()))) - #Buscar en otros canales if item.contentType in ['movie','tvshow']and item.channel != 'search': # Buscar en otros canales @@ -468,7 +469,19 @@ def set_context_commands(item, parent_item): context_commands.append(("Super Favourites Menu", "XBMC.RunScript(special://home/addons/plugin.program.super.favourites/LaunchSFMenu.py)")) - return sorted(context_commands, key=lambda comand: comand[0]) + + + context_commands = sorted(context_commands, key=lambda comand: comand[0]) + # Menu Rapido + context_commands.insert(0,("[COLOR 0xffccff00][/COLOR]", + "XBMC.Container.Update (%s?%s)" % (sys.argv[0], Item(channel='side_menu', + action="open_menu", + parent=parent_item.tourl()).tourl( + + )))) + return context_commands + + def is_playing(): diff --git a/plugin.video.alfa/resources/media/themes/default/thumb_menu.png b/plugin.video.alfa/resources/media/themes/default/thumb_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..ded1a5bceda54fbffb0a741380d86e18300bbc8a GIT binary patch literal 18430 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 DNAeVZ literal 0 HcmV?d00001 diff --git a/plugin.video.alfa/resources/media/themes/default/thumb_more.png b/plugin.video.alfa/resources/media/themes/default/thumb_more.png new file mode 100644 index 0000000000000000000000000000000000000000..fbd690e25b0a5465a2c98382752a38bfcac13122 GIT binary patch literal 9103 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 KsUV)%z5NfKdTkp3 literal 0 HcmV?d00001 diff --git a/plugin.video.alfa/resources/settings.xml b/plugin.video.alfa/resources/settings.xml index 662691d8..375c1414 100755 --- a/plugin.video.alfa/resources/settings.xml +++ b/plugin.video.alfa/resources/settings.xml @@ -38,6 +38,12 @@ + + + + diff --git a/plugin.video.alfa/resources/skins/Default/720p/side_menu.xml b/plugin.video.alfa/resources/skins/Default/720p/side_menu.xml new file mode 100644 index 00000000..3b3803f5 --- /dev/null +++ b/plugin.video.alfa/resources/skins/Default/720p/side_menu.xml @@ -0,0 +1,27 @@ + + + + 0 + 0 + + 1 + + + + + + 0 + 0 + 260 + 725 + side_menu/bg.png + + + 25 + 30 + 200 + 70 + side_menu/logo.png + + + \ No newline at end of file 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 new file mode 100644 index 0000000000000000000000000000000000000000..03ae8aeb07157f18ab59ff39c93449a35af046e2 GIT binary patch literal 6863 zcmeHM`CC)h)<$KrC|GHs3<9+b+A>*&012d63q}bP>jy<95d;xTAPgZg#0w(VDqsm1 zNPyg43e+-02@paOC{WPI5G8jdCob{*=Ijzul=sI z*V^xU?*16)fA|yAPc$?%4#Uo#xuBu3Pg6tVfQ_y;&{C05{1~`trk#de)CGPrU+*k39z8TPHlK#Wb=|3Uk)6p@gs~TuD+A$H4lolJ4a@7%uN+1d$ zrWzWi0kAW^7qhB2=2p|pr8V>0LF~)g(jW2{Y^uuMe&0C-v+1a~cthm;NTDVBN^JML z$dwiHHTU-mQDmE$_JH${zs)rNnbZoowG-KLe3)?W$lX^>zi5^9@3>k?%;tJk8ECPk zI?@j|jK)^>@#qoW_6k&n1gvOI*Qa!*KX_lSY|bzkzkZmV2%pc%cfP~>7p?%;VQx;o zs?PG(X-qOH=8Y`wQ3rtubMin=C7or}8*uxKQc6!d>HVOx*=ZvomA_Q|N;LYV?tF~v z^)@V{R^UH_N$sjwW21$7{lJ9n$eE%n^)ILPJx`f< zP6@?})+g)JjRPr^J!`sIspIUerNV>#{MB<7>yd0u!La_p-M~gALby5iOo<1zbtsO5 zsKTo^wig(oYaLl@1&;w}kq`QdLBeTN4s%@wmm=%e6Xm6@jIvAFuAFaGs z*P>YEmZH+TA@agB{;}HDrLn~sn);0&BC>}#y3E!8&K*9U2qdHcV>y#4v1-4>nm#vP zyUpuMMV>^H=1|xEN=lswAA4#59a$NVLTt>Aq6F9ChY=lR%Y$(#`U$?#Nk@#PS(2e- z>7l)XLda`+t&S6!=r@u?MKh|Rb5+9;+^lMJrw@sHrZME3uyFXE9Jc8ubYOH^*=Ls3 zw3rNCF3)*_bt6Hsg7phA9(I5Sc2FR;zTYAs}L8iyWzFX930Q6|Dy7e?=muf$E+y`LS(dkjD*mP%D$1MxH(hk@hPqrA*QE2%W$m(BJz)K>P&&K2Yf zmZb&uM?9_HfSWS$r>}5^j&86BzeZTv3q(zmHf#H5B}a_FtPOO$VFBLXOg71k{$(Gs znz=Yywehm^605Yewx*4Qr)kFgR+F>K<33IFzDXmN_U<|}`^ns zz--P0W7I?3rd1mIGnfYZ1Mu6bsLEVm_jXM@ld^R;{P;wvE8 zg5S!wEvYNMS(`W8+?JF1eUEE`EL8SE`kC>R3tI=amoD2`Vz>Dd_!(rg4TwB)t-dF| z!MBT1#Q-fwy#zu!dS3l3Op|xXsnlI$V32p}easd(v{B8M!(H_HPlIJmGn|?z$Oc+W zEP}Fw*%`WwIsKr}|8$*<>?T@6nQk+~8u6Wflp=yah?MEg6-x_6Km2@`^9K)&4v>OA zFC0XO7SRdRK$nC4Vr^lEAkX@cK z2<(wRPUmAt=w zceyRBDCzFPIZ27TT4dL+)roHR+@4TM8$FJaPUynZG6yHS_67=p#ak|SP4S)0y_xiH z?^QH8(5K5I_(iBR|#w$9J`<@+R6nY-|#TQDU)rh7kK60R*JWKyJSzH!}7Mu z+>xD6eO-sA8^WjQn2a_l@q{kO)}vjvE~D2z(v3B(ue#3mk)#FW?LAtZ;bgn*W2lUW1|)Ar~2&QJSlJ%5+PtlIscll6nl$04HP5sz_zybRLBsP^n^N* zI={r~VIHU~Or_RO9u%H%&OFi`8}QXz1EV%9qz(-FOG_%siftaa1G6Xq-Wd()_VZpg z{8a4xRh=srtWq`ZdXc}1rOgj8;Elv`eyT;M+fX~K{tyJ^}8C> zYN!|(M0nbNhz!$6@s`$iJN_gcpt@g>)YYa8*-)T?X<-Hj1sJ^wgSU@$||`i=5} z`0C&M(`)Sl>J6Y|0c;H8VCvXDScs!JWFvfkPG*1Toc&e7;|Xu~$GR?4h{J8|DG=&1 zd$T>(FKmNBc=d*V`qDwJs-PnRb7(m{$%nHr9*LLma5S+ zD0wG-(%>MC@;?$~Q6iOr*Mf#}^%lbK(;bf8r?uGPG-F0i6^|}^i3pVT^-hTC3K72ij7J6)OG@)&5gvm zP9+82B%jnZu_+}LOUp8o9yF~dri*v;Qy>TYiT4x?g|@{RkoGSkGoGetAfA#nc*LoNQGYB#~G zj1ozz5Ndu;O4-+vZeVBnU><6Yz4=$DZO=o#lvJ!H*w!(6#j6ocW4EZMaSW`Cb5}_6 zU|A?aZT0(+o3^;wcd0kFtzLnKptkwyFTgAyu#$!@?DLCwsQR50$81gXqvbA_&<<`L-k7q2_K4(nksYcTI)|yg z=$j=vj&WV7zD))=vKTivUtjh1uLHc(aM9v7z3dAKZQ$eHd9@I=%J}=drboyJA}kgp zO9J7gqA`hp)4HGWd0xA+F}WomFJsH@C*d(`7u|l2F)QJxfYS^BIRMZ=y6Ki5y?cA` zjNyYGlzN++ek*Zw$>=&3YiAO0$~+}Wj&LM<*9`vomzh8`&0(NdOAUMToCETtjojwp zfc%uKYQ+lYq|pm&Dq6TS{_ggHqg!{n+xP5&#{f5w0DuwO$0xZ^h|Q{PUs3YN`MO?U z#AS1)jS<&qB~I`P}*I-#lu-y|7E zcxxda%)R%gF|!l?q$Df*lC_WaA{wYMP_Mu|@6q4BSDpG~Gm4OWMO*P=Zng(6Mf=q3 zmCI|`IGoA+{p1z))vUcMB9r^k=vZ+cBASK^SzHZb90MdBDtVR#4(E`rW4GcIbbPL* z9wmB-o7FG6fWoA8FRwRyvry6#z1cgs>K&s53MxgvdxN9cnMSf}8Lsurf+bb;o#_?H zQUf%nmf=On^K6<6mA%~~Q)uhIIWejL9bt)#P$>hhq@)vaB+j_VuwCzw58G0dAPNO3 z(3#AfX69sVEY5bPqyPLgEUShPUrwBniYRkIE@J{+qro8!EA1d zq;RCaW3=c$qs&(Iwd#z#JSTOwoZEfR&FVWORKHxalUk7ArwNTT?JqsSZX#J7tM<6~ zMu>6rG9HAjKs)8eBmZGpZCf|{nn5Z>C~n#o>9V+;;z7=8`~hrqn#n~)gK8o9;?8v7 zcugPJeUuBzO_Kc}^r2S(G?(M_SwlOm9Ul%xCv@w~SXS52h|=1=(5UlA%HljA@_t98 z?c7-ML)y6a2%D_5&3;Ox$(KS(ZVpqzobSgxN~=awp+wn)JW9QOzaR4SP|s?I)|Z~d z(Ju6Zx80D0T~9B_&!X??5gsY(@jcNe9rW1O)FfiddXE~jP45QyYCwy``^JUHAW`J(b}rpvR6_fG+Vy$YIhKT?&ZXjtDbWziJO@n5aX=&w2L<0&%veX~(lXyyp|4sBU=|(H`IiT1< zyk3uTl*1=?;d6&c&=MpL_Yzut7pBZT9HD}($H3+C)7 zZ@WD7%C=v4WKP9ghd&^7?X*DccO8wt)s0Sc8;H1+`|x}d`vckLgyO}D6fik3gq=N^ zbvT4hZe#92z)3-EUCssf5WM}yUcdkoo@1je*)&>)6F_*g{fQsMIOYJn=yT-V5SJ04 zbbJWz@plwj&B-j>!G7x7_H1rgc3Dk_9Uz->!P6u623i;pp0kzgPS`v1gjm^sB)eGI za-oTNb-9&7t0lg2qe8%q!qi%u9Gda;h#XdJ-_$ReYQwf6_D>j`;oNTnVh9*$3O|-N z`lfC1-kBpq6F~8!wWHnlGb`@)|b8b`q&)at$$F+-4!@B({uN!x!V zQJ}7cMdmDj^7`b#{&HY-b<`KAH($;H%3R6bu%}PtpFaXxD90>)Jvb)_un3T5fxy@rRO5dC6fs*E+8X>Wk`8C6cNQOOrg|ysPI3>nShJQ*#N0nb0}OYN3x39i_=P z2YhT#Eh#gJn$@CQp8x#6^8fSGW$KGq)7*{NG)c_PvPOu@9?E`=n2^VPf0M0BCjahic*fPU7EL+QDLh8DVq~VelygLw^h3gD5&is zw8=7(*gIBjaa*!tc>7eb$`KkUBD*~AJu9L(VVRbVDeQ14s}be{6Q!1^aZ6ZNYz9;OY8vhjrDaMnd8%hq*}b0RCag$<@USeQ`$H0)X3O7zOMta)#6TdiSoY~TCw U)U^iS=aUBPhrlzfr!VLKFZle=r~m)} literal 0 HcmV?d00001 diff --git a/plugin.video.alfa/resources/skins/Default/media/side_menu/logo.png b/plugin.video.alfa/resources/skins/Default/media/side_menu/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d17f20f8afb4c4723102bcce81cbda2191a88751 GIT binary patch literal 24373 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 A2><{9 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..b28f402e69c8751b381ef0c59890625fb4581821 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^hk;m`gAGV(TJO^UQY^(zo*^7SP{WbZ0pxQQctjR6 zFz_7#VaBQ2e9}Nc$r9IylHmNblJdl&REF~Ma=pyF?Be9af>gcyqV(DCY@~pSc6hot zhE&XXdwpZBQzB36MfoRtL>xs#A{%$kRH;sB@`!9`Z}BLeD*EQp9L~JYCqF%WT~@1` zaP|H9^6zXC3*YTN%#gh{^!Ghm#q=V6k zM