tinkertonyo / xbmc-tvalacarta

Automatically exported from code.google.com/p/xbmc-tvalacarta
0 stars 0 forks source link

Atresplayer no reproduce #222

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
xbmc ubuntu  y   raspbmc raspberry pi
Funcionan bien menus capitulos,etc  pero no reproduce

Log:
09:35:16 T:3006560064   ERROR: Playlist Player: skipping unplayable item: 0, 
path

Gracias

Original issue reported on code.google.com by mmt1...@gmail.com on 11 May 2014 at 7:49

GoogleCodeExporter commented 9 years ago
A mí tampoco me reproduce. Revisando el log (detallado) parece que el problema 
es que el servidor no acepta el hash del token:

18:27:52 T:2831152192  NOTICE: [scrapertools.py] cachePage 
url=http://servicios.atresplayer.com/api/urlVideo/20140511-EPISODE-00005-false/a
ndroid_tablet/20140511-EPISODE-00005-false|1399828672|24e23619e6e1282276f4e38419
5257cd
18:27:52 T:2831152192  NOTICE: [scrapertools.py] MODO_CACHE=2 (no cachear)
18:27:52 T:2831152192  NOTICE: [scrapertools.py] downloadpage
18:27:52 T:2831152192  NOTICE: [scrapertools.py] 
url=http://servicios.atresplayer.com/api/urlVideo/20140511-EPISODE-00005-false/a
ndroid_tablet/20140511-EPISODE-00005-false|1399828672|24e23619e6e1282276f4e38419
5257cd
18:27:52 T:2831152192  NOTICE: [scrapertools.py] post=None
18:27:52 T:2831152192  NOTICE: [scrapertools.py] 
ficherocookies=/home/pi/.xbmc/userdata/addon_data/plugin.video.tvalacarta/cookie
s.dat
18:27:52 T:2831152192  NOTICE: [scrapertools.py] Importando cookielib
18:27:52 T:2831152192  NOTICE: [scrapertools.py] cookielib disponible
18:27:52 T:2831152192  NOTICE: [scrapertools.py] Hay cookies
18:27:52 T:2831152192  NOTICE: [scrapertools.py] Leyendo fichero cookies
18:27:52 T:2831152192  NOTICE: [scrapertools.py] opener usando urllib2 
(cookielib)
18:27:52 T:2831152192  NOTICE: [scrapertools.py] petición GET
18:27:52 T:2831152192  NOTICE: [scrapertools.py] ---------------------------
18:27:52 T:2831152192  NOTICE: [scrapertools.py] header User-Agent=Mozilla/5.0 
(Macintosh; U; Intel Mac OS X 10.6; es-ES; rv:1.9.2.12) Gecko/20101026 
Firefox/3.6.12
18:27:52 T:2831152192  NOTICE: [scrapertools.py] ---------------------------
18:27:52 T:2831152192  NOTICE: [scrapertools.py] normal
18:27:52 T:2831152192  NOTICE: [scrapertools.py] Respuesta
18:27:52 T:2831152192  NOTICE: [scrapertools.py] ---------------------------
18:27:52 T:2831152192  NOTICE: [scrapertools.py] date=Sun, 11 May 2014 16:27:52 
GMT
18:27:52 T:2831152192  NOTICE: [scrapertools.py] content-length=42
18:27:52 T:2831152192  NOTICE: [scrapertools.py] 
content-type=application/json;charset=UTF-8
18:27:52 T:2831152192  NOTICE: [scrapertools.py] connection=Close
18:27:52 T:2831152192  NOTICE: [scrapertools.py] server=Apache-Coyote/1.1
18:27:52 T:2831152192  NOTICE: [scrapertools.py] ---------------------------
18:27:52 T:2831152192  NOTICE: [scrapertools.py] Descargado en 1 segundos
18:27:52 T:2831152192  NOTICE: {"result":3,"resultDes":"Hash no válido"}
18:27:52 T:2831152192  NOTICE: core.jsontools.load_json Probando simplejson en 
directorio lib
18:27:53 T:2831152192  NOTICE: Previous line repeats 1 times.
18:27:53 T:2831152192  NOTICE: Traceback (most recent call last):
                                              File "/home/pi/.xbmc/addons/plugin.video.tvalacarta/core/jsontools.py", line 28, in load_json
                                                from lib import simplejson
                                              File "/home/pi/.xbmc/addons/plugin.video.tvalacarta/lib/simplejson/__init__.py", line 240, in <module>
                                                _default_decoder = JSONDecoder(encoding=None, object_hook=None)
                                              File "/home/pi/.xbmc/addons/plugin.video.tvalacarta/lib/simplejson/decoder.py", line 328, in __init__
                                                self.scan_once = make_scanner(self)
                                              File "/home/pi/.xbmc/addons/script.module.simplejson/lib/simplejson/scanner.py", line 76, in py_make_scanner
                                                object_pairs_hook = context.object_pairs_hook
                                            AttributeError: 'JSONDecoder' object has no attribute 'object_pairs_hook'
18:27:53 T:2831152192  NOTICE: core.jsontools.load_json Probando simplejson 
incluido en el interprete
18:27:53 T:2831152192   ERROR: EXCEPTION Thrown (PythonToCppException) : 
-->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.KeyError'>
                                            Error Contents: 'resultObject'
                                            Traceback (most recent call last):
                                              File "/home/pi/.xbmc/addons/plugin.video.tvalacarta/default.py", line 27, in <module>
                                                launcher.run()
                                              File "/home/pi/.xbmc/addons/plugin.video.tvalacarta/platformcode/xbmc/launcher.py", line 140, in run
                                                itemlist = channel.play(item)
                                              File "/home/pi/.xbmc/addons/plugin.video.tvalacarta/tvalacarta/channels/a3media.py", line 206, in play
                                                item.url = lista['resultObject']['es']
                                            KeyError: 'resultObject'
                                            -->End of Python script error report<--

Original comment by alberto....@gmail.com on 11 May 2014 at 4:35

GoogleCodeExporter commented 9 years ago
No va a reproducir a nadie si han modificado la clave. El problema es que 
obtener la nueva va a ser muy dificil ya que hay involucrada una función hash. 
¿Cómo obtuvo el autor del script la clave original? ¿Hay algo que se pueda 
hacer o en lo que se pueda ayudar?

Original comment by ramon...@gmail.com on 27 May 2014 at 2:41

GoogleCodeExporter commented 9 years ago
En la siguiente url hay una clave modificada el 11 Mayo pero parece no 
funcionar.

https://code.google.com/p/mp-onlinevideos2/source/browse/trunk/SiteUtilProjects/
OnlineVideos.Sites.Dj_Moren/AtresplayerUtil.cs?r=3227#246

También cambian la función getApiTime añadiendo un cero más, por si a 
alguien le sirve de ayuda.

https://code.google.com/p/mp-onlinevideos2/source/diff?spec=svn3227&old=3056&r=3
227&format=unidiff&path=%2Ftrunk%2FSiteUtilProjects%2FOnlineVideos.Sites.Dj_More
n%2FAtresplayerUtil.cs

Yo también tengo interés en como se obtuvo la clave la primera vez para ver 
si se puede hacer algo.

Original comment by danichaves on 28 May 2014 at 6:35

GoogleCodeExporter commented 9 years ago
En el script qe apuntas también hay cambios en la función GetWebData. ¿Donde 
está difinida esa función en su código?

Original comment by ramon...@gmail.com on 28 May 2014 at 7:12

GoogleCodeExporter commented 9 years ago
Pues supongo que es la función que obtiene datos. Al ser un plugin pues 
estará definida en el programa principal.

De todas formas, parece que sólo le añade un User-Agent. No creo que importe 
mucho.

Original comment by danichaves on 28 May 2014 at 10:25

GoogleCodeExporter commented 9 years ago
El equivalente a getWebData en nuestro código es la función cachePage() 
dentro de la libería /core/scrapertools.py. Allí se ve que el User-Agent que 
usamos nosotros es distinto al que usa la gente de "mp-onlinevideos2" (que es 
un SGS3). Puede resultar poco importante, pero quizá la gente de A3player una 
de las cosas que quiere hacer es limitar solo la reproducción de su video a 
dispositivos como móviles o tabletas (y no a XMBCs en Raspberrys).

Nunca he programado nada en Python, pero a ver si pudiera sacar un poco de 
tiempo, modificara y probara...

Original comment by ramon...@gmail.com on 30 May 2014 at 2:24

GoogleCodeExporter commented 9 years ago
Pues parece que poniendo la nueva contraseña y el user-agent funciona 
correctamente.
No sería necesario modificar el 3000L por 30000L (funciona con los dos; 
también funciona si pones 1L).
He probado desde un script propio en python y ya devuelve la url dentro del 
resultObject.

Supongo que con cualquier user-agent de Android debería funcionar.

Original comment by danichaves on 31 May 2014 at 12:52

GoogleCodeExporter commented 9 years ago
Me alegro de que mi ida fuera acertada. Gracias por la comprobación. A ver si 
el autor integra pronto este cambio en el código y genera nueva versión.

Original comment by ramon...@gmail.com on 31 May 2014 at 12:58

GoogleCodeExporter commented 9 years ago
Parece que ya hay una nueva versión aunque usa la api de pydowntv para 
resolver la url.
Iba a hacer un parche pero como ya se ha cambiado el código, pongo aquí cómo 
sería.
En la función play:

token = d(item.extra, "QWtMLXs414Yo+c#_+Q#K@NN)")
headers = []
headers.append(["User-Agent", "Dalvik/1.6.0 (Linux; U; Android 4.3; GT-I9300 
Build/JSS15J)"])
data = scrapertools.cachePage(url, headers=headers)

Original comment by danichaves on 31 May 2014 at 2:31

GoogleCodeExporter commented 9 years ago
Gracias por las indicaciones, pero acabo subir una versión que tiene la 
contraseña y el user-agent, y a mí me sigue saliendo "Hash no válido"

Si la podéis probar por si me he pasado algo por alto os lo agradecería

Original comment by tvalacarta@gmail.com on 31 May 2014 at 2:40

GoogleCodeExporter commented 9 years ago
Esta es la URL de los cambios de una versión a otra.

https://code.google.com/p/xbmc-tvalacarta/source/diff?spec=svn2098&r=2098&format
=side&path=/trunk/tvalacarta/tvalacarta/channels/a3media.py&old_path=/trunk/tval
acarta/tvalacarta/channels/a3media.py&old=2085

Hay más cosas que no tienen nada que ver, pero al final se ven los cambios que 
indicais.

Original comment by tvalacarta@gmail.com on 31 May 2014 at 2:42

GoogleCodeExporter commented 9 years ago
La contraseña nueva está mal puesta; acaba en ")". Yo confundí ese 
paréntesis la primera vez con el cierre de la llamada a la función. No sé si 
habrá pasado lo mismo esta vez.

Un saludo.

Original comment by danichaves on 31 May 2014 at 3:14

GoogleCodeExporter commented 9 years ago
Correcto!

Era eso, que fallo más tonto :(

Ya he actualizado el canal para que todo el mundo lo disfrute, gracias por 
arreglarlo.

https://code.google.com/p/xbmc-tvalacarta/source/detail?r=2099

Original comment by tvalacarta@gmail.com on 31 May 2014 at 3:18

GoogleCodeExporter commented 9 years ago
Muchas Gracias por solucionarlo !!!!!!

Original comment by mmt1...@gmail.com on 31 May 2014 at 7:56