From c1022d8afe66d79a753c1836aa7537a8e43484da Mon Sep 17 00:00:00 2001 From: pipcat Date: Sun, 29 Jul 2018 08:43:51 +0200 Subject: [PATCH 1/3] Cambio interno para tests --- plugin.video.alfa/channels/setting.py | 10 +--------- .../platformcode/platformtools.py | 19 ++++--------------- 2 files changed, 5 insertions(+), 24 deletions(-) diff --git a/plugin.video.alfa/channels/setting.py b/plugin.video.alfa/channels/setting.py index a22d45c9..cc1b95b1 100644 --- a/plugin.video.alfa/channels/setting.py +++ b/plugin.video.alfa/channels/setting.py @@ -296,16 +296,8 @@ def submenu_tools(item): #Herramientas de testeo masivo import os test_path = os.path.join(config.get_runtime_path(), "channels/test.py") - if filetools.exists(test_path): - itemlist.append(Item(channel=CHANNELNAME, title="Herramientas de Testeo masivo", action="", folder=False, - thumbnail=get_thumb("channels.png"))) - itemlist.append(Item(title='- Testear canales ...', channel="test", action="channel_test_selected")) - itemlist.append(Item(title='- Testear servidores ...', channel="test", action="server_test_selected")) - itemlist.append(Item(title='- Testear todos los canales!', channel="test", action="channel_test_all")) - itemlist.append(Item(title='- Testear todos los servidores!', channel="test", action="server_test_all")) - itemlist.append(Item(title='- Testear novedades!', channel="test", action="news_test_all")) - itemlist.append(Item(title='- Upload tests to web!', channel="test", action="web_update_tests")) + itemlist.append(Item(title='Testear canales y servidores ...', channel="test", action="mainlist")) itemlist.append( Item(channel=CHANNELNAME, action="", title="", folder=False, thumbnail=get_thumb("setting_0.png"))) diff --git a/plugin.video.alfa/platformcode/platformtools.py b/plugin.video.alfa/platformcode/platformtools.py index bff09bc0..77a0fc61 100644 --- a/plugin.video.alfa/platformcode/platformtools.py +++ b/plugin.video.alfa/platformcode/platformtools.py @@ -59,6 +59,10 @@ def dialog_select(heading, _list): return xbmcgui.Dialog().select(heading, _list) +def dialog_multiselect(heading, _list, autoclose=0, preselect=[], useDetails=False): + return xbmcgui.Dialog().multiselect(heading, _list, autoclose=autoclose, preselect=preselect, useDetails=useDetails) + + def dialog_progress(heading, line1, line2=" ", line3=" "): dialog = xbmcgui.DialogProgress() dialog.create(heading, line1, line2, line3) @@ -496,19 +500,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()))) - #Herramientas de desarrollador - from core import filetools - - test_path = os.path.join(config.get_runtime_path(), "channels/test.py") - - if parent_item.action == 'filterchannels' and item.action == 'mainlist' and filetools.exists(test_path): - - channel_parameters = channeltools.get_channel_parameters(item.channel) - context_commands.append(("TESTEAR ESTE CANAL", - "XBMC.RunPlugin(%s?%s)" % - (sys.argv[0], - Item(channel='test', action='channel_test', - config=channel_parameters['channel']).tourl()))) # Buscar en otros canales if item.contentType in ['movie', 'tvshow'] and item.channel != 'search': @@ -522,7 +513,6 @@ def set_context_commands(item, parent_item): item.clone(channel='search', action="do_search", from_channel=item.channel, - contextual=True).tourl()))) if item.contentType == 'tvshow': mediatype = 'tv' @@ -606,7 +596,6 @@ def set_context_commands(item, parent_item): "XBMC.Container.Update (%s?%s)" % (sys.argv[0], Item(channel='side_menu', action="open_menu", parent=parent_item.tourl()).tourl( - )))) return context_commands From 6882a2a11ae5d9db23b3eed32c290a2ecb899da1 Mon Sep 17 00:00:00 2001 From: pipcat Date: Mon, 30 Jul 2018 19:21:03 +0200 Subject: [PATCH 2/3] =?UTF-8?q?Unificar=20traducci=C3=B3n=20de=20categor?= =?UTF-8?q?=C3=ADas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin.video.alfa/channels/setting.py | 56 ++++++++++++++++++++++++ plugin.video.alfa/channelselector.py | 7 +-- plugin.video.alfa/platformcode/config.py | 8 ++++ 3 files changed, 65 insertions(+), 6 deletions(-) diff --git a/plugin.video.alfa/channels/setting.py b/plugin.video.alfa/channels/setting.py index cc1b95b1..47770941 100644 --- a/plugin.video.alfa/channels/setting.py +++ b/plugin.video.alfa/channels/setting.py @@ -327,6 +327,9 @@ def conf_tools(item): # Activar o desactivar canales if item.extra == "channels_onoff": + if config.get_platform(True)['num_version'] >= 17.0: # A partir de Kodi 16 se puede usar multiselect, y de 17 con preselect + return channels_onoff(item) + import channelselector from core import channeltools @@ -529,6 +532,59 @@ def conf_tools(item): return itemlist +def channels_onoff(item): + import channelselector, xbmcgui + from core import channeltools + + # Cargar lista de opciones + # ------------------------ + lista = []; ids = [] + channels_list = channelselector.filterchannels('allchannelstatus') + for channel in channels_list: + channel_parameters = channeltools.get_channel_parameters(channel.channel) + lbl = '%s' % channel_parameters['language'] + lbl += ' %s' % [config.get_localized_category(categ) for categ in channel_parameters['categories']] + + it = xbmcgui.ListItem(channel.title, lbl) + it.setArt({ 'thumb': channel.thumbnail, 'fanart': channel.fanart }) + lista.append(it) + ids.append(channel.channel) + + # Diálogo para pre-seleccionar + # ---------------------------- + preselecciones = ['Pre-seleccionar activados actualmente', 'Pre-seleccionar todos', 'No pre-seleccionar ninguno'] + ret = platformtools.dialog_select(config.get_localized_string(60545), preselecciones) + if ret == -1: return False # pedido cancel + if ret == 2: preselect = [] + elif ret == 1: preselect = range(len(ids)) + else: + preselect = [] + for i, canal in enumerate(ids): + channel_status = config.get_setting('enabled', canal) + if channel_status is None: channel_status = True + if channel_status: + preselect.append(i) + + # Diálogo para seleccionar + # ------------------------ + ret = xbmcgui.Dialog().multiselect(config.get_localized_string(60545), lista, preselect=preselect, useDetails=True) + if ret == None: return False # pedido cancel + seleccionados = [ids[i] for i in ret] + + # Guardar cambios en canales activados + # ------------------------------------ + for canal in ids: + channel_status = config.get_setting('enabled', canal) + if channel_status is None: channel_status = True + + if channel_status and canal not in seleccionados: + config.set_setting('enabled', False, canal) + elif not channel_status and canal in seleccionados: + config.set_setting('enabled', True, canal) + + return False + + def channel_status(item, dict_values): try: for k in dict_values: diff --git a/plugin.video.alfa/channelselector.py b/plugin.video.alfa/channelselector.py index d4a64f1e..f2414b8c 100644 --- a/plugin.video.alfa/channelselector.py +++ b/plugin.video.alfa/channelselector.py @@ -63,11 +63,6 @@ def getchanneltypes(view="thumb_"): # Lista de categorias channel_types = ["movie", "tvshow", "anime", "documentary", "vos", "direct", "torrent"] - dict_types_lang = {'movie': config.get_localized_string(30122), 'tvshow': config.get_localized_string(30123), - 'anime': config.get_localized_string(30124), 'documentary': config.get_localized_string(30125), - 'vos': config.get_localized_string(30136), 'adult': config.get_localized_string(30126), - 'direct': config.get_localized_string(30137)} - if config.get_setting("adult_mode") != 0: channel_types.append("adult") @@ -83,7 +78,7 @@ def getchanneltypes(view="thumb_"): for channel_type in channel_types: logger.info("channel_type=%s" % channel_type) - title = dict_types_lang.get(channel_type, channel_type) + title = config.get_localized_category(channel_type) itemlist.append(Item(title=title, channel="channelselector", action="filterchannels", category=title, channel_type=channel_type, viewmode="thumbnails", thumbnail=get_thumb("channels_%s.png" % channel_type, view))) diff --git a/plugin.video.alfa/platformcode/config.py b/plugin.video.alfa/platformcode/config.py index 278bde5c..227a5262 100644 --- a/plugin.video.alfa/platformcode/config.py +++ b/plugin.video.alfa/platformcode/config.py @@ -299,6 +299,14 @@ def get_localized_string(code): return dev +def get_localized_category(categ): + categories = {'movie': get_localized_string(30122), 'tvshow': get_localized_string(30123), + 'anime': get_localized_string(30124), 'documentary': get_localized_string(30125), + 'vos': get_localized_string(30136), 'adult': get_localized_string(30126), + 'direct': get_localized_string(30137), 'torrent': get_localized_string(70015)} + return categories[categ] if categ in categories else categ + + def get_videolibrary_config_path(): value = get_setting("videolibrarypath") From c14b0fe462c22a24302a6734e6d33f8986f2be07 Mon Sep 17 00:00:00 2001 From: pipcat Date: Mon, 30 Jul 2018 20:03:17 +0200 Subject: [PATCH 3/3] =?UTF-8?q?Correcci=C3=B3n=20para=20acentos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin.video.alfa/channels/setting.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugin.video.alfa/channels/setting.py b/plugin.video.alfa/channels/setting.py index 47770941..806558e9 100644 --- a/plugin.video.alfa/channels/setting.py +++ b/plugin.video.alfa/channels/setting.py @@ -543,7 +543,8 @@ def channels_onoff(item): for channel in channels_list: channel_parameters = channeltools.get_channel_parameters(channel.channel) lbl = '%s' % channel_parameters['language'] - lbl += ' %s' % [config.get_localized_category(categ) for categ in channel_parameters['categories']] + # ~ lbl += ' %s' % [config.get_localized_category(categ) for categ in channel_parameters['categories']] + lbl += ' %s' % ', '.join(config.get_localized_category(categ) for categ in channel_parameters['categories']) it = xbmcgui.ListItem(channel.title, lbl) it.setArt({ 'thumb': channel.thumbnail, 'fanart': channel.fanart })