Añadidas funciones para comprobar links
Una función principal: check_list_links y un par de funciones auxiliares: check_video_link, get_url_play. Para los canales dónde se quiera implementar la verificación de enlaces, llamar a check_list_links después de obtener la lista de enlaces itemlist, en la función findvideos del canal.
This commit is contained in:
@@ -705,3 +705,54 @@ def filter_servers(servers_list):
|
||||
servers_list = servers_list_filter
|
||||
|
||||
return servers_list
|
||||
|
||||
def check_list_links(itemlist):
|
||||
"""
|
||||
Comprueba una lista de enlaces a videos y la devuelve modificando el titulo con la verificacion.
|
||||
"""
|
||||
for it in itemlist:
|
||||
if it.server != '' and it.url != '':
|
||||
verificacion = check_video_link(it.url, it.server)
|
||||
it.title = verificacion + ', ' + it.title.strip()
|
||||
return itemlist
|
||||
|
||||
def check_video_link(url, server):
|
||||
"""
|
||||
Comprueba si el enlace a un video es valido y devuelve un string de 2 posiciones con la verificacion.
|
||||
:param url, server: Link y servidor
|
||||
:return: str(2) '??':No se ha podido comprobar. 'Ok':Parece que el link funciona. 'NO':Parece que no funciona.
|
||||
"""
|
||||
try:
|
||||
server = server.lower()
|
||||
server_module = __import__('servers.%s' % server, None, None, ["servers.%s" % server])
|
||||
except:
|
||||
server_module = None
|
||||
logger.info("[check_video_link] No se puede importar el servidor! %s" % server)
|
||||
return "??"
|
||||
|
||||
if hasattr(server_module, 'test_video_exists'):
|
||||
try:
|
||||
urlcheck = url if server == 'netutv' else get_url_play(url, server)
|
||||
video_exists, message = server_module.test_video_exists(page_url=urlcheck)
|
||||
if not video_exists:
|
||||
logger.info("[check_video_link] No existe! %s %s %s" % (message, server, url))
|
||||
return "NO"
|
||||
else:
|
||||
logger.info("[check_video_link] comprovacion OK %s %s" % (server, url))
|
||||
return "Ok"
|
||||
except:
|
||||
logger.info("[check_video_link] No se puede comprobar ahora! %s %s" % (server, url))
|
||||
return "??"
|
||||
|
||||
logger.info("[check_video_link] No hay test_video_exists para servidor: %s" % server)
|
||||
return "??"
|
||||
|
||||
def get_url_play(url, server):
|
||||
"""
|
||||
Obtener url que sirva para comprobar si el video existe
|
||||
"""
|
||||
url = url.replace("http://miracine.tv/n/?etu=", "http://hqq.tv/player/embed_player.php?vid=")
|
||||
url = url.replace("streamcloud.eu/embed-", "streamcloud.eu/")
|
||||
enlaces = findvideosbyserver(url, server)[0]
|
||||
|
||||
return enlaces[1]
|
||||
|
||||
Reference in New Issue
Block a user