ottimizzati menu canale per ricerca globale

This commit is contained in:
marco
2020-05-28 19:09:57 +02:00
parent 18c000a44e
commit d8e1fa0cd8
+55 -46
View File
@@ -668,11 +668,12 @@ def stayonline(id):
return data return data
def menuItem(itemlist, filename, title='', action='', url='', contentType='movie', args=[]): def menuItem(itemlist, filename, title='', action='', url='', contentType='movie', args=[], style=True):
# Function to simplify menu creation # Function to simplify menu creation
# Call typo function # Call typo function
title = typo(title) if style:
title = typo(title)
if contentType == 'movie': extra = 'movie' if contentType == 'movie': extra = 'movie'
else: extra = 'tvshow' else: extra = 'tvshow'
@@ -688,8 +689,9 @@ def menuItem(itemlist, filename, title='', action='', url='', contentType='movie
)) ))
# Apply auto Thumbnails at the menus # Apply auto Thumbnails at the menus
from channelselector import thumb if style:
thumb(itemlist) from channelselector import thumb
thumb(itemlist)
return itemlist return itemlist
@@ -704,12 +706,13 @@ def menu(func):
list_quality = func.__globals__['list_quality'] if 'list_quality' in func.__globals__ else ['default'] list_quality = func.__globals__['list_quality'] if 'list_quality' in func.__globals__ else ['default']
log('LIST QUALITY', list_quality) log('LIST QUALITY', list_quality)
filename = func.__module__.split('.')[1] filename = func.__module__.split('.')[1]
global_search = False single_search = False
# 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 = ['top', 'film', 'tvshow', 'anime', 'search']
listUrls_extra = [] listUrls_extra = []
dictUrl = {} dictUrl = {}
global_search = 'get_channel_results' in inspect.stack()[1][3]
# Main options # Main options
itemlist = [] itemlist = []
@@ -722,60 +725,66 @@ def menu(func):
if name == 'anime': title = 'Anime' if name == 'anime': title = 'Anime'
if name == 'search' and dictUrl[name] is not None: if name == 'search' and dictUrl[name] is not None:
global_search = True single_search = True
# Make TOP MENU # Make TOP MENU
elif name == 'top' and dictUrl[name] is not None: elif name == 'top' and dictUrl[name] is not None:
for sub, var in dictUrl['top']: if not global_search:
menuItem(itemlist, filename, for sub, var in dictUrl['top']:
title = sub + ' italic bold', menuItem(itemlist, filename,
url = host + var[0] if len(var) > 0 else '', title = sub + ' italic bold',
action = var[1] if len(var) > 1 else 'peliculas', url = host + var[0] if len(var) > 0 else '',
args=var[2] if len(var) > 2 else '', action = var[1] if len(var) > 1 else 'peliculas',
contentType= var[3] if len(var) > 3 else 'movie') args=var[2] if len(var) > 2 else '',
contentType= var[3] if len(var) > 3 else 'movie')
# Make MAIN MENU # Make MAIN MENU
elif dictUrl[name] is not None: elif dictUrl[name] is not None:
if len(dictUrl[name]) == 0: url = '' if len(dictUrl[name]) == 0:
else: url = dictUrl[name][0] if type(dictUrl[name][0]) is not tuple and len(dictUrl[name][0]) > 0 else '' url = ''
menuItem(itemlist, filename, else:
title + ' bullet bold', 'peliculas', url = dictUrl[name][0] if type(dictUrl[name][0]) is not tuple and len(dictUrl[name][0]) > 0 else ''
host + url,
contentType='movie' if name == 'film' else 'tvshow') if not global_search:
if len(dictUrl[name]) > 0: menuItem(itemlist, filename,
if type(dictUrl[name][0]) is not tuple and type(dictUrl[name]) is not str: dictUrl[name].pop(0) title + ' bullet bold', 'peliculas',
if dictUrl[name] is not None and type(dictUrl[name]) is not str: host + url,
for sub, var in dictUrl[name]: contentType='movie' if name == 'film' else 'tvshow')
menuItem(itemlist, filename, if len(dictUrl[name]) > 0:
title = sub + ' submenu {' + title + '}', if type(dictUrl[name][0]) is not tuple and type(dictUrl[name]) is not str: dictUrl[name].pop(0)
url = host + var[0] if len(var) > 0 else '', if dictUrl[name] is not None and type(dictUrl[name]) is not str:
action = var[1] if len(var) > 1 else 'peliculas', for sub, var in dictUrl[name]:
args=var[2] if len(var) > 2 else '', menuItem(itemlist, filename,
contentType= var[3] if len(var) > 3 else 'movie' if name == 'film' else 'tvshow') title = sub + ' submenu {' + title + '}',
url = host + var[0] if len(var) > 0 else '',
action = var[1] if len(var) > 1 else 'peliculas',
args=var[2] if len(var) > 2 else '',
contentType= var[3] if len(var) > 3 else 'movie' if name == 'film' else 'tvshow')
# add search menu for category # add search menu for category
if 'search' not in args: menuItem(itemlist, filename, config.get_localized_string(70741) % title + ' … submenu bold', 'search', host + url, contentType='movie' if name == 'film' else 'tvshow') if 'search' not in args: menuItem(itemlist, filename, config.get_localized_string(70741) % title + ' … submenu bold', 'search', host + url, contentType='movie' if name == 'film' else 'tvshow', style=not global_search)
# Make EXTRA MENU (on bottom) # Make EXTRA MENU (on bottom)
for name, var in args.items(): if not global_search:
if name not in listUrls and name != 'item': for name, var in args.items():
listUrls_extra.append(name) if name not in listUrls and name != 'item':
for name in listUrls_extra: listUrls_extra.append(name)
dictUrl[name] = args[name] if name in args else None for name in listUrls_extra:
for sub, var in dictUrl[name]: dictUrl[name] = args[name] if name in args else None
menuItem(itemlist, filename, for sub, var in dictUrl[name]:
title = sub + ' ', menuItem(itemlist, filename,
url = host + var[0] if len(var) > 0 else '', title = sub + ' ',
action = var[1] if len(var) > 1 else 'peliculas', url = host + var[0] if len(var) > 0 else '',
args=var[2] if len(var) > 2 else '', action = var[1] if len(var) > 1 else 'peliculas',
contentType= var[3] if len(var) > 3 else 'movie',) args=var[2] if len(var) > 2 else '',
contentType= var[3] if len(var) > 3 else 'movie',)
if global_search: if single_search:
menuItem(itemlist, filename, config.get_localized_string(70741) % '… bold', 'search', host + dictUrl['search']) menuItem(itemlist, filename, config.get_localized_string(70741) % '… bold', 'search', host + dictUrl['search'], style=not global_search)
if 'get_channel_results' not in inspect.stack()[1][3]: if not global_search:
autoplay.init(item.channel, list_servers, list_quality) autoplay.init(item.channel, list_servers, list_quality)
autoplay.show_option(item.channel, itemlist) autoplay.show_option(item.channel, itemlist)
channel_config(item, itemlist) channel_config(item, itemlist)
return itemlist return itemlist