Fix Render Items e ordinamento
This commit is contained in:
@@ -736,15 +736,16 @@ def sort_servers(servers_list):
|
||||
if item.url in url_list_valid:
|
||||
continue
|
||||
|
||||
element['indice_language'] = 0 if item.contentLanguage == 'ITA' else 1
|
||||
|
||||
element['videoitem'] = item
|
||||
sorted_list.append(element)
|
||||
|
||||
|
||||
# We order according to priority
|
||||
if priority == 0: sorted_list.sort(key=lambda orden: ((orden['indice_server'], orden['indice_quality']))) # Servers and qualities
|
||||
elif priority == 1: sorted_list.sort(key=lambda orden: (orden['indice_server'])) # Servers only
|
||||
elif priority == 3: sorted_list.sort(key=lambda orden: (orden['indice_quality'])) # Only qualities
|
||||
|
||||
if priority == 0: sorted_list.sort(key=lambda orden: (orden['indice_language'], orden['indice_server'], orden['indice_quality'])) # Servers and qualities
|
||||
elif priority == 1: sorted_list.sort(key=lambda orden: (orden['indice_language'], orden['indice_server'])) # Servers only
|
||||
elif priority == 2: sorted_list.sort(key=lambda orden: (orden['indice_language'], orden['indice_quality'])) # Only qualities
|
||||
else: sorted_list.sort(key=lambda orden: orden['indice_language'])
|
||||
|
||||
# if quality priority is active
|
||||
if priority == 0 and config.get_setting('quality_priority'):
|
||||
@@ -760,7 +761,7 @@ def sort_servers(servers_list):
|
||||
element['videoitem'] = item
|
||||
sorted_list.append(element)
|
||||
|
||||
sorted_list.sort(key=lambda orden: (orden['indice_quality'], orden['indice_server']))
|
||||
sorted_list.sort(key=lambda orden: (orden['indice_language'], orden['indice_quality'], orden['indice_server']))
|
||||
|
||||
return [v['videoitem'] for v in sorted_list if v]
|
||||
|
||||
|
||||
@@ -266,7 +266,6 @@ def scrapeBlock(item, args, block, patron, headers, action, pagination, debug, t
|
||||
|
||||
|
||||
if not group or item.grouped:
|
||||
# dbg()
|
||||
ep = unifyEp(scraped['episode']) if scraped['episode'] else ''
|
||||
se = scraped['season'] if scraped['season'].isdigit() else ''
|
||||
if ep and se:
|
||||
@@ -290,7 +289,7 @@ def scrapeBlock(item, args, block, patron, headers, action, pagination, debug, t
|
||||
if 'x' in ep:
|
||||
ep_list = ep.split('x')
|
||||
episode = ep_list[1].strip()
|
||||
season = ep_list[2].strip()
|
||||
season = ep_list[0].strip()
|
||||
if len(ep_list) > 2:
|
||||
second_episode = ep_list[2:]
|
||||
else:
|
||||
@@ -544,13 +543,6 @@ def scrape(func):
|
||||
if patronNext and inspect.stack()[1][3] not in ['newest'] and len(inspect.stack()) > 2 and inspect.stack()[2][3] not in ['get_channel_results']:
|
||||
nextPage(itemlist, item, data, patronNext, function)
|
||||
|
||||
# for it in itemlist:
|
||||
# if it.contentEpisodeNumber and it.contentSeason:
|
||||
# it.title = '[B]{:d}x{:02d} - {}[/B]'.format(it.contentSeason, it.contentEpisodeNumber, it.infoLabels['title'] if it.infoLabels['title'] else it.fulltitle)
|
||||
# if it.contentLanguage:
|
||||
# it.title += typo(it.contentLanguage, '_ [] color kod')
|
||||
# if it.quality:
|
||||
# it.title += typo(it.quality, '_ [] color kod')
|
||||
|
||||
# next page for pagination
|
||||
if pagination and len(matches) > pag * pagination and not search:
|
||||
@@ -1183,10 +1175,6 @@ def server(item, data='', itemlist=[], headers='', AutoPlay=True, CheckLinks=Tru
|
||||
verifiedItemlist = []
|
||||
|
||||
def getItem(videoitem):
|
||||
# if not videoitem.server:
|
||||
# s = servertools.get_server_from_url(videoitem.url)
|
||||
# videoitem.server = s[2] if s else 'directo'
|
||||
# videoitem.title = s[0] if s else config.get_localized_string(30137)
|
||||
if not videoitem.video_urls:
|
||||
srv_param = servertools.get_server_parameters(videoitem.server.lower())
|
||||
if not srv_param: # do not exists or it's empty
|
||||
@@ -1215,11 +1203,6 @@ def server(item, data='', itemlist=[], headers='', AutoPlay=True, CheckLinks=Tru
|
||||
quality = videoitem.quality if videoitem.quality else item.quality if item.quality else ''
|
||||
videoitem.contentLanguage = videoitem.contentLanguage if videoitem.contentLanguage else item.contentLanguage if item.contentLanguage else 'ITA'
|
||||
videoitem.title = item.title
|
||||
# videoitem.title = (item.title if item.channel not in ['url'] else '')\
|
||||
# + (typo(videoitem.title, '_ color kod [] bold') if videoitem.title else "")\
|
||||
# + (typo(videoitem.quality, '_ color kod []') if videoitem.quality else "")\
|
||||
# + (typo(videoitem.contentLanguage, '_ color kod []') if videoitem.contentLanguage else "")\
|
||||
# + (typo(videoitem.extraInfo, '_ color kod []') if videoitem.extraInfo else "")
|
||||
videoitem.plot = typo(videoitem.title, 'bold') + (typo(quality, '_ [] bold') if quality else '')
|
||||
videoitem.channel = item.channel
|
||||
videoitem.fulltitle = item.fulltitle
|
||||
@@ -1231,8 +1214,6 @@ def server(item, data='', itemlist=[], headers='', AutoPlay=True, CheckLinks=Tru
|
||||
videoitem.referer = item.referer if item.referer else item.url
|
||||
videoitem.action = "play"
|
||||
videoitem.videolibrary_id = item.videolibrary_id
|
||||
# videoitem.nfo = item.nfo
|
||||
# videoitem.strm_path = item.strm_path
|
||||
return videoitem
|
||||
|
||||
# non threaded for webpdb
|
||||
|
||||
@@ -352,7 +352,7 @@ def render_items(itemlist, parent_item):
|
||||
if item.category == "":
|
||||
item.category = parent_item.category
|
||||
if not item.title:
|
||||
item.title = ''
|
||||
item.title = item.contentTitle
|
||||
# If there is no action or it is findvideos / play, folder = False because no listing will be returned
|
||||
if item.action in ['play', '']:
|
||||
item.folder = False
|
||||
@@ -361,16 +361,6 @@ def render_items(itemlist, parent_item):
|
||||
if item.action == 'play' and thumb_type == 1 and not item.forcethumb:
|
||||
item.thumbnail = config.get_online_server_thumb(item.server)
|
||||
|
||||
# if cloudflare and cloudscraper is used, cookies are needed to display images taken from site
|
||||
# before checking domain (time consuming), checking if tmdb failed (so, images scraped from website are used)
|
||||
# if item.action in ['findvideos'] and not item.infoLabels['tmdb_id']:
|
||||
# faster but ugly way of checking
|
||||
# for d in httptools.FORCE_CLOUDSCRAPER_LIST:
|
||||
# if d + '/' in item.url:
|
||||
# item.thumbnail = httptools.get_url_headers(item.thumbnail)
|
||||
# item.fanart = httptools.get_url_headers(item.fanart)
|
||||
# break
|
||||
|
||||
icon_image = "DefaultFolder.png" if item.folder else "DefaultVideo.png"
|
||||
|
||||
title = item.title
|
||||
@@ -426,6 +416,7 @@ def render_items(itemlist, parent_item):
|
||||
|
||||
# r_list = [set_item(i, item, parent_item) for i, item in enumerate(itemlist)]
|
||||
r_list = []
|
||||
|
||||
with futures.ThreadPoolExecutor() as executor:
|
||||
searchList = [executor.submit(set_item, i, item, parent_item) for i, item in enumerate(itemlist)]
|
||||
for res in futures.as_completed(searchList):
|
||||
|
||||
Reference in New Issue
Block a user