Open GoogleCodeExporter opened 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
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
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
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
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
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
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
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
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
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
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
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
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
Muchas Gracias por solucionarlo !!!!!!
Original comment by mmt1...@gmail.com
on 31 May 2014 at 7:56
Original issue reported on code.google.com by
mmt1...@gmail.com
on 11 May 2014 at 7:49