Fix Render Items e ordinamento
This commit is contained in:
+7
-6
@@ -736,15 +736,16 @@ def sort_servers(servers_list):
|
|||||||
if item.url in url_list_valid:
|
if item.url in url_list_valid:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
element['indice_language'] = 0 if item.contentLanguage == 'ITA' else 1
|
||||||
|
|
||||||
element['videoitem'] = item
|
element['videoitem'] = item
|
||||||
sorted_list.append(element)
|
sorted_list.append(element)
|
||||||
|
|
||||||
|
|
||||||
# We order according to priority
|
# We order according to priority
|
||||||
if priority == 0: sorted_list.sort(key=lambda orden: ((orden['indice_server'], orden['indice_quality']))) # Servers and 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_server'])) # Servers only
|
elif priority == 1: sorted_list.sort(key=lambda orden: (orden['indice_language'], orden['indice_server'])) # Servers only
|
||||||
elif priority == 3: sorted_list.sort(key=lambda orden: (orden['indice_quality'])) # Only qualities
|
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 quality priority is active
|
||||||
if priority == 0 and config.get_setting('quality_priority'):
|
if priority == 0 and config.get_setting('quality_priority'):
|
||||||
@@ -760,7 +761,7 @@ def sort_servers(servers_list):
|
|||||||
element['videoitem'] = item
|
element['videoitem'] = item
|
||||||
sorted_list.append(element)
|
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]
|
return [v['videoitem'] for v in sorted_list if v]
|
||||||
|
|
||||||
|
|||||||
+1
-20
@@ -266,7 +266,6 @@ def scrapeBlock(item, args, block, patron, headers, action, pagination, debug, t
|
|||||||
|
|
||||||
|
|
||||||
if not group or item.grouped:
|
if not group or item.grouped:
|
||||||
# dbg()
|
|
||||||
ep = unifyEp(scraped['episode']) if scraped['episode'] else ''
|
ep = unifyEp(scraped['episode']) if scraped['episode'] else ''
|
||||||
se = scraped['season'] if scraped['season'].isdigit() else ''
|
se = scraped['season'] if scraped['season'].isdigit() else ''
|
||||||
if ep and se:
|
if ep and se:
|
||||||
@@ -290,7 +289,7 @@ def scrapeBlock(item, args, block, patron, headers, action, pagination, debug, t
|
|||||||
if 'x' in ep:
|
if 'x' in ep:
|
||||||
ep_list = ep.split('x')
|
ep_list = ep.split('x')
|
||||||
episode = ep_list[1].strip()
|
episode = ep_list[1].strip()
|
||||||
season = ep_list[2].strip()
|
season = ep_list[0].strip()
|
||||||
if len(ep_list) > 2:
|
if len(ep_list) > 2:
|
||||||
second_episode = ep_list[2:]
|
second_episode = ep_list[2:]
|
||||||
else:
|
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']:
|
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)
|
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
|
# next page for pagination
|
||||||
if pagination and len(matches) > pag * pagination and not search:
|
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 = []
|
verifiedItemlist = []
|
||||||
|
|
||||||
def getItem(videoitem):
|
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:
|
if not videoitem.video_urls:
|
||||||
srv_param = servertools.get_server_parameters(videoitem.server.lower())
|
srv_param = servertools.get_server_parameters(videoitem.server.lower())
|
||||||
if not srv_param: # do not exists or it's empty
|
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 ''
|
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.contentLanguage = videoitem.contentLanguage if videoitem.contentLanguage else item.contentLanguage if item.contentLanguage else 'ITA'
|
||||||
videoitem.title = item.title
|
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.plot = typo(videoitem.title, 'bold') + (typo(quality, '_ [] bold') if quality else '')
|
||||||
videoitem.channel = item.channel
|
videoitem.channel = item.channel
|
||||||
videoitem.fulltitle = item.fulltitle
|
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.referer = item.referer if item.referer else item.url
|
||||||
videoitem.action = "play"
|
videoitem.action = "play"
|
||||||
videoitem.videolibrary_id = item.videolibrary_id
|
videoitem.videolibrary_id = item.videolibrary_id
|
||||||
# videoitem.nfo = item.nfo
|
|
||||||
# videoitem.strm_path = item.strm_path
|
|
||||||
return videoitem
|
return videoitem
|
||||||
|
|
||||||
# non threaded for webpdb
|
# non threaded for webpdb
|
||||||
|
|||||||
@@ -352,7 +352,7 @@ def render_items(itemlist, parent_item):
|
|||||||
if item.category == "":
|
if item.category == "":
|
||||||
item.category = parent_item.category
|
item.category = parent_item.category
|
||||||
if not item.title:
|
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 there is no action or it is findvideos / play, folder = False because no listing will be returned
|
||||||
if item.action in ['play', '']:
|
if item.action in ['play', '']:
|
||||||
item.folder = False
|
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:
|
if item.action == 'play' and thumb_type == 1 and not item.forcethumb:
|
||||||
item.thumbnail = config.get_online_server_thumb(item.server)
|
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"
|
icon_image = "DefaultFolder.png" if item.folder else "DefaultVideo.png"
|
||||||
|
|
||||||
title = item.title
|
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 = [set_item(i, item, parent_item) for i, item in enumerate(itemlist)]
|
||||||
r_list = []
|
r_list = []
|
||||||
|
|
||||||
with futures.ThreadPoolExecutor() as executor:
|
with futures.ThreadPoolExecutor() as executor:
|
||||||
searchList = [executor.submit(set_item, i, item, parent_item) for i, item in enumerate(itemlist)]
|
searchList = [executor.submit(set_item, i, item, parent_item) for i, item in enumerate(itemlist)]
|
||||||
for res in futures.as_completed(searchList):
|
for res in futures.as_completed(searchList):
|
||||||
|
|||||||
Reference in New Issue
Block a user