From 8a490da29e9383bfbce85b8ff4cd133888a9e9b7 Mon Sep 17 00:00:00 2001 From: Alhaziel Date: Sat, 21 Dec 2019 12:20:28 +0100 Subject: [PATCH] Ricerca Globale ricerche salvate e impostazioni --- specials/search.json | 36 ++++++++--- specials/search.py | 138 ++++++++++++++++++++++++++++--------------- 2 files changed, 119 insertions(+), 55 deletions(-) diff --git a/specials/search.json b/specials/search.json index 62d846ec..cda48425 100644 --- a/specials/search.json +++ b/specials/search.json @@ -8,13 +8,35 @@ "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"] + "id": "last_search", + "type": "bool", + "label": "@60678", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "saved_searches_limit", + "type": "list", + "label": "@60677", + "default": 0, + "enabled": true, + "visible": true, + "lvalues": [ + "10", + "20", + "30", + "40" + ] + }, + { + "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 2aa55a2c..56c1af5d 100755 --- a/specials/search.py +++ b/specials/search.py @@ -21,28 +21,21 @@ def_lang = addon.getSetting('language') def mainlist(item): logger.info() - itemlist = list() + itemlist = [Item(channel=item.channel, title=config.get_localized_string(70276), action='new_search', mode='all', thumbnail=get_thumb("search.png")), - itemlist.append(Item(channel=item.channel, title=config.get_localized_string(70276), action='new_search', mode='all', - thumbnail=get_thumb("search.png"))) + Item(channel=item.channel, title=config.get_localized_string(70741) % config.get_localized_string(30122), action='new_search', mode='movie', thumbnail=get_thumb("search_movie.png")), - itemlist.append(Item(channel=item.channel, title=config.get_localized_string(70741) % config.get_localized_string(30122), action='new_search', mode='movie', - thumbnail=get_thumb("search_movie.png"))) + Item(channel=item.channel, title=config.get_localized_string(70741) % config.get_localized_string(30123), action='new_search', mode='tvshow', thumbnail=get_thumb("search_tvshow.png")), - itemlist.append(Item(channel=item.channel, title=config.get_localized_string(70741) % config.get_localized_string(30123), action='new_search', mode='tvshow', - thumbnail=get_thumb("search_tvshow.png"))) + Item(channel=item.channel, title=config.get_localized_string(70741) % config.get_localized_string(70314), action='new_search', page=1, mode='person', thumbnail=get_thumb("search_star.png")), - itemlist.append(Item(channel=item.channel, title=config.get_localized_string(70741) % config.get_localized_string(70314), action='new_search', - page=1, mode='person', thumbnail=get_thumb("search_star.png"))) + Item(channel=item.channel, title=config.get_localized_string(59995), action='saved_search', thumbnail=get_thumb('search.png')), - itemlist.append(Item(channel=item.channel, title=config.get_localized_string(60420), action='sub_menu', - thumbnail=get_thumb('search.png'))) + Item(channel=item.channel, title=config.get_localized_string(60420), action='sub_menu', thumbnail=get_thumb('search.png')), - itemlist.append(Item(channel=item.channel, title=config.get_localized_string(59994), action='opciones', - thumbnail=get_thumb('setting_0.png'))) + Item(channel=item.channel, title=typo(config.get_localized_string(59994), 'color kod bold'), 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'))) + Item(channel=item.channel, title=typo(config.get_localized_string(30100), 'color kod bold'), action='settings', thumbnail=get_thumb('setting_0.png'))] itemlist = set_context(itemlist) @@ -52,60 +45,74 @@ def mainlist(item): def sub_menu(item): logger.info() - itemlist = list() + itemlist = [Item(channel=item.channel, action='genres_menu', title=config.get_localized_string(70306), mode='movie', thumbnail=get_thumb("channels_movie_genre.png")), - itemlist.append(Item(channel=item.channel, action='genres_menu', title=config.get_localized_string(70306), - mode='movie', thumbnail=get_thumb("channels_movie_genre.png"))) + Item(channel=item.channel, action='years_menu', title=config.get_localized_string(70742), mode='movie', thumbnail=get_thumb("channels_movie_year.png")), - itemlist.append(Item(channel=item.channel, action='years_menu', title=config.get_localized_string(70742), - mode='movie', thumbnail=get_thumb("channels_movie_year.png"))) + Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70307), search_type='list', list_type='movie/popular', mode='movie', thumbnail=get_thumb("channels_movie_popular.png")), - itemlist.append(Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70307), - search_type='list', list_type='movie/popular', mode='movie', - thumbnail=get_thumb("channels_movie_popular.png"))) + Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70308), search_type='list', list_type='movie/top_rated', mode='movie', thumbnail=get_thumb("channels_movie_top.png")), - itemlist.append(Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70308), - search_type='list', list_type='movie/top_rated', mode='movie', - thumbnail=get_thumb("channels_movie_top.png"))) + Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70309), search_type='list', list_type='movie/now_playing', mode='movie', thumbnail=get_thumb("channels_movie_now_playing.png")), - itemlist.append(Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70309), - search_type='list', list_type='movie/now_playing', mode='movie', - thumbnail=get_thumb("channels_movie_now_playing.png"))) + Item(channel=item.channel, action='genres_menu', title=config.get_localized_string(70310), mode='tvshow', thumbnail=get_thumb("channels_tvshow_genre.png")), - itemlist.append(Item(channel=item.channel, action='genres_menu', title=config.get_localized_string(70310), - mode='tvshow', thumbnail=get_thumb("channels_tvshow_genre.png"))) + Item(channel=item.channel, action='years_menu', title=config.get_localized_string(70743), mode='tvshow', thumbnail=get_thumb("channels_tvshow_year.png")), - itemlist.append(Item(channel=item.channel, action='years_menu', title=config.get_localized_string(70743), - mode='tvshow', thumbnail=get_thumb("channels_tvshow_year.png"))) + Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70311), search_type='list', list_type='tv/popular', mode='tvshow', thumbnail=get_thumb("popular.png")), - itemlist.append(Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70311), - search_type='list', list_type='tv/popular', mode='tvshow', - thumbnail=get_thumb("popular.png"))) + Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70312), search_type='list', list_type='tv/on_the_air', mode='tvshow', thumbnail=get_thumb("channels_tvshow_on_the_air.png")), - itemlist.append(Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70312), - search_type='list', list_type='tv/on_the_air', mode='tvshow', - thumbnail=get_thumb("channels_tvshow_on_the_air.png"))) + Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70313), search_type='list', list_type='tv/top_rated', mode='tvshow', thumbnail=get_thumb("channels_tvshow_top.png")), - itemlist.append(Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70313), - search_type='list', list_type='tv/top_rated', mode='tvshow', - thumbnail=get_thumb("channels_tvshow_top.png"))) - - itemlist.append(Item(channel="tvmoviedb", action="mainlist", title=config.get_localized_string(70274), - thumbnail=get_thumb("search.png"))) + Item(channel="tvmoviedb", action="mainlist", title=config.get_localized_string(70274), thumbnail=get_thumb("search.png"))] itemlist = set_context(itemlist) return itemlist +def saved_search(item): + logger.info() + + itemlist = list() + saved_searches_list = get_saved_searches() + + + for saved_search_text in saved_searches_list: + itemlist.append( + Item(channel=item.channel, + action="new_search", + title=typo(saved_search_text.split('{}')[0], 'bold'), + search_text=saved_search_text.split('{}')[0], + mode='all', + thumbnail=get_thumb('search.png'))) + + if len(saved_searches_list) > 0: + itemlist.append( + Item(channel=item.channel, + action="clear_saved_searches", + title=typo(config.get_localized_string(60417), 'color kod bold'), + thumbnail=get_thumb('search.png'))) + + itemlist = set_context(itemlist) + return itemlist + def new_search(item): logger.info() itemlist = [] + if channeltools.get_channel_setting('last_search', 'search'): + last_search = channeltools.get_channel_setting('Last_searched', 'search', '') + else: + last_search = '' - last_search = channeltools.get_channel_setting('Last_searched', 'search', '') - searched_text = platformtools.dialog_input(default=last_search, heading='') + if item.search_text: + searched_text = item.search_text + else: + searched_text = platformtools.dialog_input(default=last_search, heading='') + save_search(searched_text) if not searched_text: return @@ -668,6 +675,9 @@ def set_context(itemlist): "channel": "search"}, {"title": config.get_localized_string(60415), "action": "settings", + "channel": "search"}, + {"title": config.get_localized_string(60416), + "action": "clear_saved_searches", "channel": "search"}] return itemlist @@ -693,4 +703,36 @@ def get_from_temp(item): elem.infoLabels['year'] = '-' tmdb.set_infoLabels_item(elem, True) - return results \ No newline at end of file + return results + + +def save_search(text): + saved_searches_limit = int((10, 20, 30, 40)[int(config.get_setting("saved_searches_limit", "search"))]) + + current_saved_searches_list = config.get_setting("saved_searches_list", "search") + if current_saved_searches_list is None: + saved_searches_list = [] + else: + saved_searches_list = list(current_saved_searches_list) + + if text in saved_searches_list: + saved_searches_list.remove(text) + + saved_searches_list.insert(0, text) + + config.set_setting("saved_searches_list", saved_searches_list[:saved_searches_limit], "search") + + +def clear_saved_searches(item): + config.set_setting("saved_searches_list", list(), "search") + platformtools.dialog_ok(config.get_localized_string(60423), config.get_localized_string(60424)) + + +def get_saved_searches(): + current_saved_searches_list = config.get_setting("saved_searches_list", "search") + if current_saved_searches_list is None: + saved_searches_list = [] + else: + saved_searches_list = list(current_saved_searches_list) + + return saved_searches_list \ No newline at end of file