diff --git a/channelselector.py b/channelselector.py index 1cacdc20..13d7d22d 100644 --- a/channelselector.py +++ b/channelselector.py @@ -36,9 +36,7 @@ def getmainlist(view="thumb_"): if addon.getSetting('enable_search_menu') == "true": itemlist.append(Item(title=config.get_localized_string(30103), channel="search", path='special', action="mainlist", thumbnail=get_thumb("search.png", view), - category=config.get_localized_string(30119), viewmode="list", - context=[{"title": config.get_localized_string(70286), "channel": "search", "action": "opciones", - "goto": True}])) + category=config.get_localized_string(30119), viewmode="list")) if addon.getSetting('enable_onair_menu') == "true": itemlist.append(Item(channel="filmontv", action="mainlist", title=config.get_localized_string(50001), diff --git a/resources/language/English/strings.po b/resources/language/English/strings.po index ed1c23a5..ee933baf 100644 --- a/resources/language/English/strings.po +++ b/resources/language/English/strings.po @@ -2715,7 +2715,7 @@ msgid "Global Search" msgstr "" msgctxt "#60673" -msgid "MultiThread Search" +msgid "Number of Search Threads" msgstr "" msgctxt "#60674" diff --git a/resources/language/Italian/strings.po b/resources/language/Italian/strings.po index 41a3780b..c9a879f2 100644 --- a/resources/language/Italian/strings.po +++ b/resources/language/Italian/strings.po @@ -2714,8 +2714,8 @@ msgid "Global Search" msgstr "Ricerca globale" msgctxt "#60673" -msgid "MultiThread Search" -msgstr "Ricerca MultiThread" +msgid "Number of Search Threads" +msgstr "Numero di Threads di Ricerca" msgctxt "#60674" msgid "Show Results:" diff --git a/specials/search.json b/specials/search.json index e752457d..62d846ec 100644 --- a/specials/search.json +++ b/specials/search.json @@ -5,5 +5,16 @@ "adult": false, "thumbnail": "", "banner": "", - "categories": [] + "categories": [], + "settings": [ + { + "id": "thread_number", + "type": "list", + "label": "@60673", + "default": 0, + "enabled": true, + "visible": true, + "lvalues": ["auto","1","2","4","6","8","16","24","32","64"] + } + ] } \ No newline at end of file diff --git a/specials/search.py b/specials/search.py index a0dee760..2aa55a2c 100755 --- a/specials/search.py +++ b/specials/search.py @@ -11,6 +11,9 @@ from channelselector import get_thumb from platformcode import logger, config, platformtools, unify from core.support import typo +import gc +gc.disable() + import xbmcaddon addon = xbmcaddon.Addon('metadata.themoviedb.org') def_lang = addon.getSetting('language') @@ -38,6 +41,9 @@ def mainlist(item): itemlist.append(Item(channel=item.channel, title=config.get_localized_string(59994), action='opciones', thumbnail=get_thumb('setting_0.png'))) + itemlist.append(Item(channel=item.channel, title=config.get_localized_string(60415), action='settings', + thumbnail=get_thumb('setting_0.png'))) + itemlist = set_context(itemlist) return itemlist @@ -179,7 +185,7 @@ def channel_search(item): str(searching_titles)) config.set_setting('tmdb_active', False) - with futures.ThreadPoolExecutor() as executor: + with futures.ThreadPoolExecutor(max_workers=set_workers()) as executor: c_results = [executor.submit(get_channel_results, ch, item, session) for ch in channel_list] for res in futures.as_completed(c_results): @@ -339,6 +345,13 @@ def get_channels(item): def opciones(item): return setting_channel_new(item) +def settings(item): + return platformtools.show_channel_settings(caption=config.get_localized_string(59993)) + +def set_workers(): + list_mode=[None,1,2,4,6,8,16,24,32,64] + index = config.get_setting('thread_number', 'search') + return list_mode[index] def setting_channel_new(item): import xbmcgui @@ -652,6 +665,9 @@ def set_context(itemlist): for elem in itemlist: elem.context = [{"title": config.get_localized_string(60412), "action": "setting_channel_new", + "channel": "search"}, + {"title": config.get_localized_string(60415), + "action": "settings", "channel": "search"}] return itemlist