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:
pipcat
2018-04-03 11:23:05 +02:00
committed by GitHub
parent ca4941da7e
commit bfd30bb6b1

View File

@@ -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]