Página 1 de 1

newpct/divxatope y torrents antiguos

Publicado: 10 Mar 2016, 19:32
por Lortropic
Hola,

Me he dado cuenta que los torrents que tienen un tiempo en estas webs fallan al ser cargados en Torrenter.

Un ejemplo: Si buscáis la serie "Vikingos" tenéis que si le dais al 3x10 el torrent no va, pero las 4x si. Si voy a la web me puedo bajar el torrent de la 3x10 (no sin mucho esfuerzo con la puta publicidad ultra-mega intrusiva) y cargarlo desde Torrenter dándole a "Play .torrent" Por lo que de la web se puede bajar el torrent y este se puede reproducir, pero hay algo que hace que lo antiguo no se pueda bajar (o al menos no estos torrents).

El pete lo da Torrenter, pero creo que es por culpa de lo que le envía pelisalacarta para reproducir, sin ir más lejos, esto es lo que pone el log:

NOTICE: mediaurl=plugin://plugin.video.torrenter/?action=playSTRM&url=http%3A%2F%2Ftumejorjuego.com%2Fdownload%2Find
ex.php%3Flink%3Ddescargar-torrent%2F068992_vikingos-temporada-3-hdtv-720p-ac3-51.html


Sin embargo, en la 4x01 sale:

NOTICE: mediaurl=plugin://plugin.video.torrenter/?action=playSTRM&url=http%3A%2F%2Ftumejorjuego.com%2Fdescargar%2Fin
dex.php%3Flink%3Ddescargar-torrent%2F1456354363_vikingos---temporada-4--hdtv-720p-ac3-51%2F


Edit: Veo que el enlace funcionar funciona, no entiendo porque no funciona el ver enviandole la URL pero si sí lo bajo al PC y le digo que lo reproduzca, y especialmente la diferencia entre la temporada 3 y la 4 :/ No se si será bug de lo que le enviamos (parece que no... si la url me baja el torrent...) o de Torrenter (supongo que será de esto, pero que cosa más curiosa la diferenciación entre temporadas)

Re: newpct/divxatope y torrents antiguos

Publicado: 11 Mar 2016, 16:28
por Cmos
Lo he probado con los capítulos que comentas y creo que el error viene de que los .torrent que se descargan de la "dirección antigua" no tienen un formato correcto ya que incluyen una parte de código html, el cual no reconoce torrenter y por eso da error. Seguramente sí funcionan si los descargas antes desde el navegador porque usará una función diferente para cargar los .torrent desde una url o desde un archivo. Te queda la opción de los que fallen seguir descargándolos manualmente o pasarte al MCT de robalo que funciona de lujo :D

Re: newpct/divxatope y torrents antiguos

Publicado: 11 Mar 2016, 21:14
por Lortropic
Le he dado un vistazo más en profundidad por curiosidad, y el problema está en el Gunzip.

Da la casualidad que los nuevos torrents no se sirven "gzipeados" (la respuesta http no está comprimida), por lo que se lee raw.

En los antiguos los datos se envían comprimidos (el propio código de Torrenter añade el header accept-encoding gzip) y el Gunzip que realiza genera un crc check error :/ Que cosa más rara. He quitado el accept encoding y ya ha funcionado, pero solo porque entra en el "else" (no es gzip) y lee raw.

El código que usa Torrenter es casi literalmente este (posiblemente lo copiaron de ahí):
http://stackoverflow.com/a/3947241/1344260

Pero añadiendo un "else" para el contenido no comprimido.

Edit: Acabo de probar el código de Stackoverflow y me da el mismo error: http://pastebin.com/3rvmCEkU

Código: Seleccionar todo

Traceback (most recent call last):
  File "./test.py", line 15, in <module>
    data = f.read()
  File "/usr/lib/python2.7/gzip.py", line 254, in read
    self._read(readsize)
  File "/usr/lib/python2.7/gzip.py", line 308, in _read
    self._read_eof()
  File "/usr/lib/python2.7/gzip.py", line 347, in _read_eof
    hex(self.crc)))
IOError: CRC check failed 0xac557afc != 0x2338b236L
Edit2: Este nos da la solución :D http://stackoverflow.com/a/13692010/1344260

Re: newpct/divxatope y torrents antiguos

Publicado: 11 Mar 2016, 23:34
por robalo
El error, básicamente, es por que en el conector, que aunque el código que comprueba y descarga el torrent que has visto en "stackoverflow" existe, no se utiliza.

Re: newpct/divxatope y torrents antiguos

Publicado: 12 Mar 2016, 10:46
por Lortropic
No. Como he dicho, ya está solucionado. Ya me funciona.

El error no estaba en pelisalacarta (como puse en el edit final del primer post), si no en el código que he indicado, y que está en Torrenter.

Lo he cambiado por la sugerencia del segundo post de stackoverflow (primero en mi test de mini-programa python, después en el código de Torrenter) y ya funciona, no da error de CRC como pasaba antes. Le he mandado el pull request al developer de Torrenter y ya está mergeado.

De echo compruebo en mi raspberry que durante esta noche me ha actualizado la versión de Torrenter y lleva los cambios.

Re: newpct/divxatope y torrents antiguos

Publicado: 12 Mar 2016, 11:58
por robalo
Lortropic escribió:No. Como he dicho, ya está solucionado. Ya me funciona.

El error no estaba en pelisalacarta (como puse en el edit final del primer post), si no en el código que he indicado, y que está en Torrenter.

Lo he cambiado por la sugerencia del segundo post de stackoverflow (primero en mi test de mini-programa python, después en el código de Torrenter) y ya funciona, no da error de CRC como pasaba antes. Le he mandado el pull request al developer de Torrenter y ya está mergeado.

De echo compruebo en mi raspberry que durante esta noche me ha actualizado la versión de Torrenter y lleva los cambios.
Bueno, tanto como no... eso dependerá como se mire :)
Antes de que el autor de xmbctorrent lo abandonara y creara pulsar sólo se le entregaban enlaces magnet al plugin xbmctorrent. Más tarde alguien retomo el trabajo y cambió algunas cosas. Torrenter creo recordar que se basa en la versión de xbmctorrent tal estaba cuando la abandonó su autor por lo que la entrega de la url de los .torrent podría fallar si no se descargaba previamente el .torrent para crear un magnet para para pasárselo al plugin como pasaba con xbmctorrent.

Ante esta situación puedes hacer varias cosas, dos de ellas son las que tu has hecho, modificar el plugin o pedir al autor que lo modifique y otra es usar lo que se sigue conservando y no se utiliza en el conector.

El MCT usa la función 'url_get(url, params={}, headers={})' para estas cosas y funciona sin problemas.

Re: newpct/divxatope y torrents antiguos

Publicado: 12 Mar 2016, 13:17
por Lortropic
No, no depende de como se mire :shock:

Si el código tiene un método que acepta una URL, ese código se descarga en memoria el resultado de una petición HTTP y, si esta está en gzip, la desgzipea y este proceso falla, pues no hay otra forma de verlo O_o

Otra cosa es que se pueda proponer como opción de solución una alternativa (no uses torrenter, no llames a ese método), pero vamos, que el fallo estaba ahí no depende de como se mire :lol: El "server" de torrent (que lo único que hace es añadir links para ver en diferentes addons) no tenía ningún problema, el fallo estaba en el addon "Torrenter" que fallaba al hacer el gunzip (daba error de CRC en el resultado)

Edit: Es decir, este:
"El error, básicamente, es por que en el conector, que aunque el código que comprueba y descarga el torrent que has visto en "stackoverflow" existe, no se utiliza."

No era el error, el error era que el Gunzip de la respuesta HTTP se hace incorrectamente y fallaba el CRC. Otra cosa diferente es, como digo, no pasar por ese código, pero vamos, que el fallo que tenía no depende de como se mire, era ese xD

Re: newpct/divxatope y torrents antiguos

Publicado: 12 Mar 2016, 17:26
por robalo
:) No tiene importancia.
Puede que a DiMartino se pasara un poco al personalizar la función 'url_get' con 'saveTorrent' para hacerla más suya pero si se usa lo que ya hay en el conector nos daría igual el bug creado por la personalización, ese es el motivo de su existencia. Con los magnet casi seguro que ningún plugin falla o al menos no debería fallar :)