Correcciones

This commit is contained in:
Unknown
2018-04-25 11:40:46 -03:00
parent 36dd12da3d
commit 86de19dfe2
5 changed files with 27 additions and 39 deletions

View File

@@ -136,6 +136,8 @@ def start(itemlist, item):
# Obtiene las listas servidores, calidades disponibles desde el nodo del json de AutoPlay
server_list = channel_node.get('servers', [])
for server in server_list:
server = server.lower()
quality_list = channel_node.get('quality', [])
# Si no se definen calidades la se asigna default como calidad unica
@@ -145,7 +147,7 @@ def start(itemlist, item):
# Se guardan los textos de cada servidor y calidad en listas p.e. favorite_servers = ['openload',
# 'streamcloud']
for num in range(1, 4):
favorite_servers.append(channel_node['servers'][settings_node['server_%s' % num]])
favorite_servers.append(channel_node['servers'][settings_node['server_%s' % num]].lower())
favorite_quality.append(channel_node['quality'][settings_node['quality_%s' % num]])
# Se filtran los enlaces de itemlist y que se correspondan con los valores de autoplay
@@ -175,25 +177,25 @@ def start(itemlist, item):
# si el servidor y la calidad no se encuentran en las listas de favoritos o la url esta repetida,
# descartamos el item
if item.server not in favorite_servers or item.quality not in favorite_quality \
if item.server.lower() not in favorite_servers or item.quality not in favorite_quality \
or item.url in url_list_valid:
item.type_b = True
b_dict['videoitem']= item
autoplay_b.append(b_dict)
continue
autoplay_elem["indice_server"] = favorite_servers.index(item.server)
autoplay_elem["indice_server"] = favorite_servers.index(item.server.lower())
autoplay_elem["indice_quality"] = favorite_quality.index(item.quality)
elif priority == 2: # Solo servidores
# si el servidor no se encuentra en la lista de favoritos o la url esta repetida,
# descartamos el item
if item.server not in favorite_servers or item.url in url_list_valid:
if item.server.lower() not in favorite_servers or item.url in url_list_valid:
item.type_b = True
b_dict['videoitem'] = item
autoplay_b.append(b_dict)
continue
autoplay_elem["indice_server"] = favorite_servers.index(item.server)
autoplay_elem["indice_server"] = favorite_servers.index(item.server.lower())
elif priority == 3: # Solo calidades
@@ -261,11 +263,11 @@ def start(itemlist, item):
if not platformtools.is_playing() and not played:
videoitem = autoplay_elem['videoitem']
logger.debug('videoitem %s' % videoitem)
if videoitem.server not in max_intentos_servers:
max_intentos_servers[videoitem.server] = max_intentos
if videoitem.server.lower() not in max_intentos_servers:
max_intentos_servers[videoitem.server.lower()] = max_intentos
# Si se han alcanzado el numero maximo de intentos de este servidor saltamos al siguiente
if max_intentos_servers[videoitem.server] == 0:
if max_intentos_servers[videoitem.server.lower()] == 0:
continue
lang = " "
@@ -312,15 +314,15 @@ def start(itemlist, item):
logger.debug(str(len(autoplay_list)))
# Si hemos llegado hasta aqui es por q no se ha podido reproducir
max_intentos_servers[videoitem.server] -= 1
max_intentos_servers[videoitem.server.lower()] -= 1
# Si se han alcanzado el numero maximo de intentos de este servidor
# preguntar si queremos seguir probando o lo ignoramos
if max_intentos_servers[videoitem.server] == 0:
if max_intentos_servers[videoitem.server.lower()] == 0:
text = "Parece que los enlaces de %s no estan funcionando." % videoitem.server.upper()
if not platformtools.dialog_yesno("AutoPlay", text,
"¿Desea ignorar todos los enlaces de este servidor?"):
max_intentos_servers[videoitem.server] = max_intentos
max_intentos_servers[videoitem.server.lower()] = max_intentos
# Si no quedan elementos en la lista se informa
if autoplay_elem == autoplay_list[-1]:
@@ -439,7 +441,7 @@ def check_value(channel, itemlist):
quality_list = channel_node['quality'] = list()
for item in itemlist:
if item.server not in server_list and item.server !='':
if item.server.lower() not in server_list and item.server !='':
server_list.append(item.server)
change = True
if item.quality not in quality_list and item.quality !='':

View File

@@ -664,14 +664,12 @@ def findvideos(item):
data = agrupa_datos(httptools.downloadpage(item.url).data)
data_obf = scrapertools.find_single_match(data, "var ad\s*=\s*'([^']+)'")
data_decrypt = jsontools.load(obfs(base64.b64decode(data_obf), 126 - int(key)))
infolabels = {}
year = scrapertools.find_single_match(data, '<span>A&ntilde;o:\s*</span>.*?(\d{4})')
infolabels["year"] = year
matches = []
for match in data_decrypt:
prov = eval(scrapertools.find_single_match(data_js, 'p\[%s\]\s*=\s*(\{.*?\}[\']\})' % match["provider"]))
server_url = scrapertools.find_single_match(prov['l'], 'return\s*"(.*?)"')
url = '%s%s' % (server_url, match['code'])
@@ -831,20 +829,10 @@ def get_status(status, type, id):
## --------------------------------------------------------------------------------
def jhexdecode(t):
k = re.sub(r'(_0x.{4})(?=\(|=)', 'var_0', t).replace('\'','\"')
def to_hex(c, type):
h = int("%s" % c, 16)
if type == '1':
return 'p[%s]' % h
if type == '2':
return '[%s]' % h
x = re.sub(r'(?:p\[)(0x.{,2})(?:\])', lambda z: to_hex(z.group(1), '1'), k)
y = re.sub(r'(?:\(")(0x.{,2})(?:"\))', lambda z: to_hex(z.group(1), '2'), x)
r = re.sub(r'_\d+x\w+x(\d+)', 'var_' + r'\1', t)
r = re.sub(r'_\d+x\w+', 'var_0', r)
def to_hx(c):
h = int("%s" % c.groups(0), 16)
@@ -852,14 +840,8 @@ def jhexdecode(t):
return chr(h)
else:
return ""
r = re.sub(r'(?:\\|)x(\w{2})(?=[^\w\d])', to_hx, y).replace('var ', '')
server_list = eval(scrapertools.find_single_match(r, '=(\[.*?\])'))
for val in range(475,0, -1):
server_list.append(server_list[0])
server_list.pop(0)
r = re.sub(r'=\[(.*?)\]', '=%s' % str(server_list), r)
r = re.sub(r'(?:\\|)x(\w{2})', to_hx, r).replace('var ', '')
f = eval(scrapertools.get_match(r, '\s*var_0\s*=\s*([^;]+);'))
for i, v in enumerate(f):
@@ -875,7 +857,6 @@ def jhexdecode(t):
return r
def obfs(data, key, n=126):
chars = list(data)
for i in range(0, len(chars)):

View File

@@ -9,7 +9,7 @@ from core import servertools
from core.item import Item
from platformcode import logger, config
HOST = 'http://peliculasaudiolatino.com'
HOST = 'http://verpeliculasenlatino.com'
def mainlist(item):

View File

@@ -410,8 +410,7 @@ def findvideos(item):
if config.get_setting("quit_channel_name", "videolibrary") == 0:
server.title = "%s: %s" % (nom_canal.capitalize(), server.title)
server.infoLabels = item_json.infoLabels
#server.infoLabels = item_json.infoLabels
if not server.thumbnail:
server.thumbnail = item.thumbnail

View File

@@ -24,7 +24,7 @@ def start():
funciones que deseamos que se ejecuten nada mas abrir el plugin.
"""
logger.info()
config.set_setting('show_once', True)
# Test if all the required directories are created
config.verify_directories_created()
@@ -51,6 +51,11 @@ def run(item=None):
item.start = True;
else:
item = Item(channel="channelselector", action="getmainlist", viewmode="movie")
if config.get_setting('show_once'):
platformtools.dialog_ok('Alfa', 'Alfa recomienda para mejorar tu experiencia:',
'Palomitas, relajate y disfruta.')
config.set_setting('show_once', False)
logger.info(item.tostring())
try:
@@ -310,6 +315,7 @@ def run(item=None):
log_message)
def reorder_itemlist(itemlist):
logger.info()
# logger.debug("Inlet itemlist size: %i" % len(itemlist))