def shows_search(self, query=None): if not query: query = g.get_keyboard_input(g.get_language_string(30013)) if not query: g.cancel_directory() return if g.get_bool_setting("searchHistory"): self.search_history.add_search_history("tvshow", query) self.shows_search_results(query)
def movies_search(self, query=None): if query is None: query = g.get_keyboard_input(heading=g.get_language_string(30013)) if not query: g.cancel_directory() return if g.get_bool_setting("searchHistory"): self.search_history.add_search_history("movie", query) self.movies_search_results(query)
def shows_by_actor(self, query): if not query: query = g.get_keyboard_input(g.get_language_string(30013)) if not query: g.cancel_directory() return if g.get_bool_setting("searchHistory"): self.search_history.add_search_history("showActor", query) query = g.transliterate_string(query) # Try to deal with transliterated chinese actor names as some character -> word transliterations can be joined # I have no idea of the rules and it could well be arbitrary # This approach will only work if only one pair of adjoining transliterated chars are joined name_parts = query.split() for i in range(len(name_parts), 0, -1): query = "-".join(name_parts[:i]) + "-".join(name_parts[i:i + 1]) query = tools.quote_plus(query) trakt_list = self.shows_database.extract_trakt_page( "people/{}/shows".format(query), extended="full", page=g.PAGE, hide_watched=False, hide_unaired=False, ) if not trakt_list: continue else: break try: if not trakt_list or 'trakt_id' not in trakt_list[0]: raise KeyError except KeyError: g.cancel_directory() return self.list_builder.show_list_builder(trakt_list, hide_watched=False, hide_unaired=False)