- nuovo metodo di override DNS
- aggiunta opzione nascondi server, se usi l'autoplay
- migliorie al codice e fix vari
This commit is contained in:
marco
2020-01-08 19:19:59 +01:00
parent d1cc659707
commit b4376525de
139 changed files with 6078 additions and 8909 deletions
+36 -27
View File
@@ -3,7 +3,7 @@
import re, os, inspect, requests, xbmc, xbmcaddon
from core import httptools, scrapertoolsV2, servertools, jsontools, tmdb, support
from core import httptools, scrapertools, servertools, jsontools, tmdb, support
from core.item import Item
from core.support import typo
from channelselector import get_thumb
@@ -240,8 +240,35 @@ def show_menu(item):
return itemlist
def filter_thread(filter,item):
itemlist = []
thumbnail = ''
plot = ''
dict_ = {'url': 'search/person', 'language': lang, 'query': filter, 'page': 1}
tmdb_inf = tmdb.discovery(item, dict_=dict_)
results = tmdb_inf.results[0]
id = results['id']
if id:
thumbnail = 'http://image.tmdb.org/t/p/original' + results['profile_path'] if results['profile_path'] else item.thumbnail
json_file = httptools.downloadpage('http://api.themoviedb.org/3/person/'+ str(id) + '?api_key=' + tmdb_api + '&language=en', use_requests=True).data
plot += jsontools.load(json_file)['biography']
item = Item(channel=item.channel,
title=typo(filter, 'bold'),
url=item.url,
media_type=item.media_type,
action='list_filtered',
thumbnail=thumbnail,
plot=plot,
path=item.path,
filterkey=item.filterkey,
filter=filter)
return item
def submenu(item):
support.log()
from lib.concurrent import futures
itemlist = []
filter_list = []
@@ -262,33 +289,15 @@ def submenu(item):
for f in media[item.filterkey]:
if f not in filter_list:
filter_list.append(f)
filter_list.sort()
support.log(filter_list)
for filter in filter_list:
thumbnail = ''
plot = ''
if item.filterkey in ['director','actors']:
tmdb.set_infoLabels(itemlist, seekTmdb=True)
load_info = load_json('http://api.themoviedb.org/3/search/person/?api_key=' + tmdb_api + '&language=' + lang + '&query=' + filter)
id = str(load_info['results'][0]['id']) if load_info.has_key('results') else ''
if id:
info = load_json('http://api.themoviedb.org/3/person/'+ id + '?api_key=' + tmdb_api + '&language=' + lang) if id else ''
if info.has_key('biography') and not info['biography']:
bio = load_json('http://api.themoviedb.org/3/person/'+ id + '?api_key=' + tmdb_api + '&language=en')['biography']
thumbnail = 'https://image.tmdb.org/t/p/w600_and_h900_bestv2' + info['profile_path'] if info['profile_path'] else item.thumbnail
plot += info['biography'] if info['biography'] else bio if bio else ''
itemlist.append(Item(channel=item.channel,
title=typo(filter, 'bold'),
url=item.url,
media_type=item.media_type,
action='list_filtered',
thumbnail=thumbnail,
plot=plot,
path=item.path,
filterkey=item.filterkey,
filter=filter))
with futures.ThreadPoolExecutor() as executor:
List = [executor.submit(filter_thread, filter, item) for filter in filter_list]
for res in futures.as_completed(List):
if res.result():
itemlist.append(res.result())
itemlist = sorted(itemlist, key=lambda it: it.title)
return itemlist
@@ -751,7 +760,7 @@ def set_title(title, language, quality):
def format_title(title):
t = scrapertoolsV2.find_single_match(title, r'\{([^\}]+)\}')
t = scrapertools.find_single_match(title, r'\{([^\}]+)\}')
if 'bold' not in t: t += ' bold'
title = re.sub(r'(\{[^\}]+\})','',title)
return typo(title,t)