ottimizzazione server-findvideos
This commit is contained in:
+7
-7
@@ -19,9 +19,7 @@ else:
|
|||||||
from future.builtins import range
|
from future.builtins import range
|
||||||
from past.utils import old_div
|
from past.utils import old_div
|
||||||
|
|
||||||
import datetime
|
|
||||||
import re
|
import re
|
||||||
import time
|
|
||||||
|
|
||||||
from core import filetools
|
from core import filetools
|
||||||
from core import httptools
|
from core import httptools
|
||||||
@@ -32,6 +30,7 @@ from platformcode import platformtools
|
|||||||
from lib import unshortenit
|
from lib import unshortenit
|
||||||
|
|
||||||
dict_servers_parameters = {}
|
dict_servers_parameters = {}
|
||||||
|
server_list = {}
|
||||||
|
|
||||||
|
|
||||||
def find_video_items(item=None, data=None):
|
def find_video_items(item=None, data=None):
|
||||||
@@ -654,11 +653,12 @@ def get_servers_list():
|
|||||||
y como valor un diccionario con los parametros del servidor.
|
y como valor un diccionario con los parametros del servidor.
|
||||||
@rtype: dict
|
@rtype: dict
|
||||||
"""
|
"""
|
||||||
server_list = {}
|
global server_list
|
||||||
for server in filetools.listdir(filetools.join(config.get_runtime_path(), "servers")):
|
if not server_list:
|
||||||
if server.endswith(".json") and not server == "version.json":
|
for server in filetools.listdir(filetools.join(config.get_runtime_path(), "servers")):
|
||||||
server_parameters = get_server_parameters(server)
|
if server.endswith(".json") and not server == "version.json":
|
||||||
server_list[server.split(".")[0]] = server_parameters
|
server_parameters = get_server_parameters(server)
|
||||||
|
server_list[server.split(".")[0]] = server_parameters
|
||||||
|
|
||||||
return server_list
|
return server_list
|
||||||
|
|
||||||
|
|||||||
+13
-7
@@ -1108,14 +1108,14 @@ def pagination(itemlist, item, page, perpage, function_level=1):
|
|||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
def server(item, data='', itemlist=[], headers='', AutoPlay=True, CheckLinks=True, down_load=True, patronTag=None, video_library=True):
|
def server(item, data='', itemlist=[], headers='', AutoPlay=True, CheckLinks=True, down_load=True, patronTag=None, video_library=True):
|
||||||
|
log()
|
||||||
if not data and not itemlist:
|
if not data and not itemlist:
|
||||||
data = httptools.downloadpage(item.url, headers=headers, ignore_response_code=True).data
|
data = httptools.downloadpage(item.url, headers=headers, ignore_response_code=True).data
|
||||||
if data:
|
if data:
|
||||||
itemList = servertools.find_video_items(data=str(data))
|
itemList = servertools.find_video_items(data=str(data))
|
||||||
itemlist = itemlist + itemList
|
itemlist = itemlist + itemList
|
||||||
verifiedItemlist = []
|
verifiedItemlist = []
|
||||||
for videoitem in itemlist:
|
def getItem(videoitem):
|
||||||
if not videoitem.server:
|
if not videoitem.server:
|
||||||
findS = servertools.findvideos(videoitem.url)
|
findS = servertools.findvideos(videoitem.url)
|
||||||
if findS:
|
if findS:
|
||||||
@@ -1123,28 +1123,34 @@ def server(item, data='', itemlist=[], headers='', AutoPlay=True, CheckLinks=Tru
|
|||||||
elif item.channel == 'community':
|
elif item.channel == 'community':
|
||||||
findS= ('Diretto', videoitem.url, 'directo')
|
findS= ('Diretto', videoitem.url, 'directo')
|
||||||
else:
|
else:
|
||||||
videoitem.url = unshortenit.unshorten(videoitem.url)[0]
|
videoitem.url = unshortenit.unshorten_only(videoitem.url)[0]
|
||||||
findS = servertools.findvideos(videoitem.url)
|
findS = servertools.findvideos(videoitem.url)
|
||||||
if findS:
|
if findS:
|
||||||
findS = findS[0]
|
findS = findS[0]
|
||||||
else:
|
else:
|
||||||
log(videoitem, 'Non supportato')
|
log(videoitem, 'Non supportato')
|
||||||
continue
|
return
|
||||||
videoitem.server = findS[2]
|
videoitem.server = findS[2]
|
||||||
videoitem.title = findS[0]
|
videoitem.title = findS[0]
|
||||||
videoitem.url = findS[1]
|
videoitem.url = findS[1]
|
||||||
|
|
||||||
item.title = typo(item.contentTitle.strip(),'bold') if item.contentType == 'movie' or (config.get_localized_string(30161) in item.title) else item.title
|
item.title = typo(item.contentTitle.strip(), 'bold') if item.contentType == 'movie' or (config.get_localized_string(30161) in item.title) else item.title
|
||||||
|
|
||||||
videoitem.plot= typo(videoitem.title, 'bold') + (typo(videoitem.quality, '_ [] bold') if item.quality else '')
|
videoitem.plot= typo(videoitem.title, 'bold') + (typo(videoitem.quality, '_ [] bold') if item.quality else '')
|
||||||
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 "")
|
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 "")
|
||||||
videoitem.fulltitle = item.fulltitle
|
videoitem.fulltitle = item.fulltitle
|
||||||
videoitem.show = item.show
|
videoitem.show = item.show
|
||||||
videoitem.thumbnail = item.thumbnail
|
videoitem.thumbnail = item.thumbnail
|
||||||
videoitem.channel = item.channel
|
videoitem.channel = item.channel
|
||||||
videoitem.contentType = item.contentType
|
videoitem.contentType = item.contentType
|
||||||
videoitem.infoLabels = item.infoLabels
|
videoitem.infoLabels = item.infoLabels
|
||||||
verifiedItemlist.append(videoitem)
|
return videoitem
|
||||||
|
|
||||||
|
with futures.ThreadPoolExecutor() as executor:
|
||||||
|
thL = [executor.submit(getItem, videoitem) for videoitem in itemlist]
|
||||||
|
for it in futures.as_completed(thL):
|
||||||
|
if it.result():
|
||||||
|
verifiedItemlist.append(it.result())
|
||||||
|
|
||||||
if patronTag:
|
if patronTag:
|
||||||
addQualityTag(item, verifiedItemlist, data, patronTag)
|
addQualityTag(item, verifiedItemlist, data, patronTag)
|
||||||
|
|||||||
Reference in New Issue
Block a user