def SEARCH_HISTORY(payload, params): history = database.getSearchHistory('show') if "Yes" in g.get_setting('searchhistory'): return g.draw_items(_BROWSER.search_history(history), contentType=g.get_setting("contenttype.menu")) else: return SEARCH(payload, params)
def LIST_MENU(payload, params): return g.draw_items( [ g.allocate_item(name, url, True, image) for name, url, image in MENU_ITEMS ], contentType=g.get_setting("contenttype.menu"), )
def SEARCH(payload, params): query = control.keyboard(g.lang(30010)) if not query: return False # TODO: Better logic here, maybe move functionatly into router? if "Yes" in g.get_setting('searchhistory'): database.addSearchHistory(query, 'show') history = database.getSearchHistory('show') return g.draw_items(_ANILIST_BROWSER.get_search(query))
def ANILIST_AIRING(payload, params): airing = _ANILIST_BROWSER.get_airing() from resources.lib.windows.anichart import Anichart anime = Anichart(*('anichart.xml', g.ADDON_DATA_PATH), get_anime=_BROWSER.get_anime_init, anime_items=airing).doModal() if not anime: anime = [[], 'tvshows'] anime, content_type = anime return g.draw_items(anime, content_type)
def TOOLS_MENU(payload, params): TOOLS_ITEMS = [ (g.lang(30020), "settings", ''), (g.lang(30021), "clear_cache", ''), (g.lang(30022), "clear_torrent_cache", ''), (g.lang(30023), "clear_history", ''), (g.lang(30026), "rebuild_database", ''), (g.lang(30024), "wipe_addon_data", ''), ] return g.draw_items( [ g.allocate_item(name, url, False, image) for name, url, image in TOOLS_ITEMS ], contentType=g.get_setting("contenttype.menu"), )
def ANILIST_GENRES_PAGES(payload, params): genres, tags, page = payload.split("/")[-3:] return g.draw_items( _ANILIST_BROWSER.get_genres_page(genres, tags, int(page)))
def ANILIST_GENRES(payload, params): return g.draw_items(_ANILIST_BROWSER.get_genres(genre_dialog))
def ANIMES_TRAKT(payload, params): show_id, season = payload.rsplit("/") database._update_season(show_id, season) return g.draw_items(_BROWSER.get_trakt_episodes(show_id, season), 'episodes')
def seasonCorrectionDatabase(payload, params): show_id, meta_ids = payload.rsplit("/") clean_show = _BROWSER.clean_show(show_id, meta_ids) trakt, content_type = _BROWSER.get_anime_trakt(show_id, True) return g.draw_items(trakt, content_type)
def ANILIST_POPULAR(payload, params): return g.draw_items(_ANILIST_BROWSER.get_popular())
def ANILIST_TRENDING_PAGES(payload, params): return g.draw_items(_ANILIST_BROWSER.get_trending(int(payload)))
def ANILIST_TRENDING(payload, params): return g.draw_items(_ANILIST_BROWSER.get_trending())
def LATEST_DUB(payload, params): return g.draw_items( _BROWSER.get_latest_dub(g.real_debrid_enabled(), g.premiumize_enabled()), 'episodes')
def AIRING_DUB(payload, params): return g.draw_items(_BROWSER.get_airing_dub())
def SEARCH_PAGES(payload, params): query, page = payload.rsplit("/", 1) return g.draw_items(_ANILIST_BROWSER.get_search(query, int(page)))
def ANILIST_POPULAR(payload, params): return g.draw_items(_ANILIST_BROWSER.get_upcoming())
def ANILIST_POPULAR_PAGES(payload, params): return g.draw_items(_ANILIST_BROWSER.get_upcoming(int(payload)))
def seasonCorrection(payload, params): anilist_id, mal_id, filter_lang = payload.split("/")[1:] trakt = _BROWSER.search_trakt_shows(anilist_id) return g.draw_items(trakt)
def ANILIST_ALL_TIME_POPULAR_PAGES(payload, params): return g.draw_items(_ANILIST_BROWSER.get_all_time_popular(int(payload)))
def FIND_SIMILAR(payload, params): anilist_id, mal_id, filter_lang = payload.split("/")[1:] return g.draw_items(_ANILIST_BROWSER.get_recommendation(anilist_id))
def ANIMES_PAGE(payload, params): anilist_id, mal_id, filter_lang = payload.rsplit("/") anime_general, content = _BROWSER.get_anime_init(anilist_id, filter_lang) return g.draw_items(anime_general, content)