From e9863f8ffd84d6d2065cc8de34560d6c9cd299c0 Mon Sep 17 00:00:00 2001 From: Alhaziel Date: Tue, 30 Jul 2019 20:53:15 +0200 Subject: [PATCH] Nuovo Support Menu --- core/support.py | 129 ++++++++++++++++++++++-------------------------- 1 file changed, 58 insertions(+), 71 deletions(-) diff --git a/core/support.py b/core/support.py index fe65e275..7ee30c25 100644 --- a/core/support.py +++ b/core/support.py @@ -183,7 +183,7 @@ def scrape(func): blacklist = args['blacklist'] if 'blacklist' in args else '' data = args['data'] if 'data' in args else '' headers = args['headers'] if 'headers' in args else '' - patron = args['patron'] if 'patron' in args else '' + patron = args['patron'] if 'patron' in args else args['patronMenu'] if 'patronMenu' in args else '' patronNext = args['patronNext'] if 'patronNext' in args else '' patronBlock = args['patronBlock'] if 'patronBlock' in args else '' typeActionDict = args['type_action_dict'] if 'type_action_dict' in args else {} @@ -315,7 +315,7 @@ def scrape(func): itemlist.append(it) checkHost(item, itemlist) - if ('thumb' not in args and item.contentType == "tvshow" and (action == "findvideos" and action != "play")) \ + if ('patronMenu' not in args and item.contentType == "tvshow" and (action == "findvideos" and action != "play")) \ or (item.contentType == "episode" and action != "play") \ or (item.contentType == "movie" and action != "play") : tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) @@ -350,7 +350,7 @@ def scrape(func): item.fulltitle = item.infoLabels["title"] videolibrary(itemlist, item) - if 'thumb' in args: + if 'patronMenu' in args: itemlist = thumb(itemlist) if 'fullItemlistHook' in args: @@ -536,85 +536,72 @@ def menu(func): list_quality = func.__globals__['list_quality'] filename = func.__module__.split('.')[1] - listUrls = ['film', 'filmSub', 'tvshow', 'tvshowSub', 'anime', 'animeSub', 'search', 'top', 'topSub'] + # listUrls = ['film', 'filmSub', 'tvshow', 'tvshowSub', 'anime', 'animeSub', 'search', 'top', 'topSub'] + listUrls = ['top', 'film', 'tvshow', 'anime', 'search'] listUrls_extra = [] dictUrl = {} + + # Main options + itemlist = [] + for name in listUrls: dictUrl[name] = args[name] if name in args else None + log(dictUrl[name]) + if name == 'film': title = 'Film' + if name == 'tvshow': title = 'Serie TV' + if name == 'anime': title = 'Anime' + + if name == 'search' and dictUrl[name] is not None: + menuItem(itemlist, filename, 'Cerca… bold', 'search', host + dictUrl['search']) + + # Make TOP MENU + elif name == 'top' and dictUrl[name] is not None: + for sub, var in dictUrl['top']: + menuItem(itemlist, filename, + title = sub + ' italic bold', + url = host + var[0] if len(var) > 0 else '', + action = var[1] if len(var) > 1 else 'peliculas', + args=var[2] if len(dictUrl[name]) > 2 else '', + contentType= var[3] if len(var) > 3 else 'movie',) + # Make MAIN MENU + elif dictUrl[name] is not None: + if len(dictUrl[name]) == 0: url = '' + else: url = dictUrl[name][0] if type(dictUrl[name][0]) is not tuple and len(dictUrl[name][0]) > 0 else '' + menuItem(itemlist, filename, + title + ' bullet bold', 'peliculas', + host + url, + contentType='movie' if name == 'film' else 'tvshow') + if len(dictUrl[name]) > 0: + if type(dictUrl[name][0]) is not tuple and type(dictUrl[name]) is not str: dictUrl[name].pop(0) + if dictUrl[name] is not None and type(dictUrl[name]) is not str: + for sub, var in dictUrl[name]: + menuItem(itemlist, filename, + title = sub + ' submenu', + url = host + var[0] if len(var) > 0 else '', + action = var[1] if len(var) > 1 else 'peliculas', + args=var[2] if len(dictUrl[name]) > 2 else '', + contentType= var[3] if len(var) > 3 else 'movie',) + # add search menu for category + if 'search' not in args: menuItem(itemlist, filename, 'Cerca ' + title + '… submenu bold', 'search', host, args=name) + + # Make EXTRA MENU (on bottom) for name, var in args.items(): if name not in listUrls and name != 'item': listUrls_extra.append(name) for name in listUrls_extra: - dictUrl[name] = args[name] if name in args else None - autoplay.init(item.channel, list_servers, list_quality) - - # Main options - itemlist = [] - # Top Menu - if dictUrl['top'] is not None: - for sub, var in dictUrl['top']: - menuItem(itemlist, filename, sub + ' bold italic', var[1] if len(var) > 0 else 'peliculas', - host + var[0], contentType= var[3] if len(var) > 2 else 'movie', - args=var[2] if len(dictUrl[name]) > 1 else '') - - if dictUrl['topSub']: - for sub, var in dictUrl['topSub']: - menuItem(itemlist, filename, sub + ' submenu italic', var[1] if len(var)>1 else 'peliculas', - host + var[0], var[3] if len(var)>3 else 'movie', - args=var[2] if len(var)>2 else '') - - # if film menu - if dictUrl['film'] is not None: - menuItem(itemlist, filename, 'Film bold bullet', 'peliculas', host + dictUrl['film']) - if dictUrl['filmSub']: - for sub, var in dictUrl['filmSub']: - menuItem(itemlist, filename, sub + ' submenu', var[1], - host + var[0], - args=var[2] if len(var)>2 else '') - - if dictUrl['search'] is None: menuItem(itemlist, filename, 'Cerca Film… submenu bold', 'search', host, args='film') - - # if tvshow menu - if dictUrl['tvshow'] is not None: - menuItem(itemlist, filename, 'Serie TV bold bullet', 'peliculas', host + dictUrl['tvshow'], contentType='tvshow') - if dictUrl['tvshowSub']: - for sub, var in dictUrl['tvshowSub']: - menuItem(itemlist, filename, sub + ' submenu', var[1] if len(var)>1 else 'peliculas', - host + var[0], contentType='tvshow', - args=var[2] if len(var)>2 else '') - - if dictUrl['search'] is None: menuItem(itemlist, filename, 'Cerca Serie TV… submenu bold', 'search', host, args='serie') - - # if anime menu - if dictUrl['anime'] is not None: - menuItem(itemlist, filename, 'Anime bold bullet', 'peliculas', host + dictUrl['anime'], contentType='tvshow', args='anime') - if dictUrl['animeSub']: - for sub, var in dictUrl['animeSub']: - menuItem(itemlist, filename, sub + ' submenu', var[1] if len(var)>1 else 'peliculas', - host + var[0], contentType='tvshow', - args=var[2] if len(var)>2 else '') - - if dictUrl['search'] is None: menuItem(itemlist, filename, 'Cerca Anime… submenu bold', 'search', host, args='serie') - - # if menu item not in defaults - for name in listUrls_extra: - if len(name) > 2 and name[-3:] == 'Sub': - for sub, var in dictUrl[name]: - menuItem(itemlist, filename, sub + ' submenu', var[1] if len(var)>1 else 'peliculas', - host + var[0], var[3] if len(var)>3 else 'movie', - args=var[2] if len(var)>2 else '') - else: - for sub, var in dictUrl[name]: - menuItem(itemlist, filename, sub + ' bold bullet', var[1] if len(var) > 0 else 'peliculas', - host + var[0], contentType= var[3] if len(var) > 2 else 'movie', - args=var[2] if len(dictUrl[name]) > 1 else '') + dictUrl[name] = args[name] if name in args else None + for sub, var in dictUrl[name]: + menuItem(itemlist, filename, + title = sub + ' ', + url = host + var[0] if len(var) > 0 else '', + action = var[1] if len(var) > 1 else 'peliculas', + args=var[2] if len(dictUrl[name]) > 2 else '', + contentType= var[3] if len(var) > 3 else 'movie',) - # if search menu - if dictUrl['search'] is not None: - menuItem(itemlist, filename, 'Cerca… bold', 'search', host + dictUrl['search']) + autoplay.init(item.channel, list_servers, list_quality) autoplay.show_option(item.channel, itemlist) channel_config(item, itemlist) @@ -658,7 +645,7 @@ def typo(string, typography=''): if '{}' in string: string = '{' + re.sub(r'\s\{\}','',string) + '}' if 'submenu' in string: - string = ' > ' + re.sub(r'\ssubmenu','',string) + string = u"\u2022\u2022 ".encode('utf-8') + re.sub(r'\ssubmenu','',string) if 'color' in string: color = scrapertoolsV2.find_single_match(string,'color ([a-z]+)') if color == 'kod' or '': color = kod_color