Verificación de enlaces

Estado
Cerrado para nuevas respuestas.

pipcat

Usuario
31 Mar 2018
89
48
18
Me alegra ver que habéis continuado el plugin de pelisalcarta y reconvertido en este alfa. Gracias y felicidades a todos los participantes ;)

He hecho unas modificaciones para que al mostrar la lista de enlaces de una película, también se muestre la verificación de si los enlaces todavía existen, y así intentar evitar tener que ir probándolos hasta encontrar uno bueno.

Por un lado en core/servertools.py añado una rutina check_list_links que recibe un itemlist con todos los enlaces encontrados, y para cada uno de ellos comprueba si todavía es válido (con las funciones test_video_exists de cada servidor), y devuelve el itemlist con el título modificado para ver la verificación. Ok: si el link existe. NO: si ha sido borrado. ??: si no se puede comprobar.

Por otro lado, en cada canal dónde se quiera implementar la verificación, en su .json añado el parámetro 'comprueba_enlaces' y en el .py añado la llamada a servertools.check_list_links si el parámetro está activado. Lo tengo puesto en los canales cinefox, peliculasdk y newpct, pero se podría añadir a cualquier otro fácilmente.

Lo he modificado en mi copia del repositorio,
Por favor, Acceder o Registrarse para ver el contenido de los enlaces
, por si alguno quiere probarlo. No se si vale la pena hacer un pull-request para añadirlo a la versión principal...

Salu2,
 
  • Me gusta
Reacciones: aguava y Masay90
Upvote 0

Delta

Miembro del equipo
16 Oct 2017
1.200
1
1.311
113
Hola.
Muchas gracias por colaborar, es una idea interesante la analizaremos y veremos la posibilidad de agregarla al addon.

Saludos
 
  • Me gusta
Reacciones: aguava

pipcat

Usuario
31 Mar 2018
89
48
18
Pongo un ejemplo visual de lo que se obtiene. En este caso hay varios NO que indican que algunos enlaces ya no funcionan, varios Ok dónde en teoría sí funcionan, y un ?? que no se ha podido comprobar.

ejemplo-verificacion-enlaces.jpg

wssf0brev
 
  • Me gusta
Reacciones: Masay90 y aguava

caperucitaferoz

Usuario
20 Oct 2017
75
36
18
Una pregunta @pipcat: si el canal devuelve muchos enlaces, pongamos mas de 15, ¿Cuánto tardará en mostrar el listado?

Y una petición, si finalmente se añade a Alfa: no pongáis casos particulares dentro del código Core. Me explico. En la propuesta de @pipcat se comprueba si el servidor es netu.tv, streamclound o incluso si el canal es miracine dentro de servertools cuando en realidad estás excepciones deberían considerarse dentro de sus respectivos test_video_exists
 

pipcat

Usuario
31 Mar 2018
89
48
18
- Pues habría que ver los timings si hay muchos enlaces, y si se alargara demasiado, poner alguna limitación y que por ejemplo se comprueben solamente los últimos 10.

- También se podría dejar el parámetro 'comprueba_enlaces' en los canales desactivado por defecto, y que quien se lo active asuma que puede provocar un pequeño retardo. O que el parámetro no fuera True/False, sino un número que definiera cuantos enlaces se comprobarían.

- Otra cosa que se podría cambiar, sería como se muestra la info de la verificación. Ahora simplemente muestra un Ok/NO/?? al principio del título, pero se podría cambiar el color según el estado o incluso descartar directamente los "no", etc.

- Sí, me parece acertado que las excepciones se controlen en los test_video_exists correspondientes. Lo tengo así pq empecé a hacerlo para el canal cinefox, y saqué de allí esas excepciones (def play).

- En mi github he añadido la función test_video_exists al servidor netutv, que no la tenía. Pero no se como hacer el pull-request de esto solo, sin que también incorpore otros cambios... ;-(
 
  • Me gusta
Reacciones: Masay90 y aguava

pipcat

Usuario
31 Mar 2018
89
48
18
He hecho algunos cambios, teniendo en cuenta lo que decía @caperucitaferoz. Está actualizado en mi copia del repositorio.

A nivel de usuario, el único cambio es que en los canales donde está implementada la verificación de enlaces (de momento cinefox, newpct, peliculasdk) se puede configurar el número de enlaces a comprobar. Y que por defecto la verificación está desactivada, así que si no se activa voluntariamente, todo sigue igual que siempre.

A nivel de código, los cambios son:
- core/servertools.py : eliminadas las excepciones de url que había y limitar el número de enlaces a verificar.
- channels/.json,.py : añadido parámetro para limitar el número de enlaces a comprobar.
- servers/netutv.py : excepciones de url para verificar si la págine existe.

Los pasos que habría que hacer para incorporar la verificación de enlaces a otros canales es:
- .json: añadir parámetros comprueba_enlaces y comprueba_enlaces_num, copiándolos igual que están en cinefox, newpct o peliculasdk.
- .py:
- Al principio del código, cargar los dos parámetros con config.get_setting (igual que en los canales ya implementados, cambiando el parámetro del nombre del canal)
- Al final de la función findvideos, cuando ya se ha obtenido itemlist, llamar a servertools.check_list_links

Nota: la función servertools.check_list_links necesita recibir las urls tal y como se resuelven en los servidores. Si en el canal que hace la llamada se han utilizado las funciones de servertools para encontrar las urls ya es así y no hay que hacer nada más que llamar a la función. Es el caso de los canales newpct y peliculasdk. En cambio para el canal cinefox, en la función findvideos no se resuelven del todo las urls (se hace más adelante en el play), así que en este caso hay que "normalizar" las urls llamando a findvideosbyserver para tener en cuenta los pattern/url de los json de servidores.
 
  • Me gusta
Reacciones: Masay90
Estado
Cerrado para nuevas respuestas.