Fix Render Items e ordinamento

This commit is contained in:
Alhaziel01
2021-06-18 12:19:42 +02:00
parent b32b500b07
commit 658666bd6b
3 changed files with 10 additions and 37 deletions

View File

@@ -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]

View File

@@ -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

View File

@@ -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):