martes, octubre 08, 2013

Nueva versión rc de tv_grab_ar.py

A comienzos de 2010 tiré las primeras lineas de código para un sencillo script que descarga la grilla de programación de un conocido proveedor de televisión por cable. Este script retorna la información en formato XMLTV lista para ser consumida por aplicaciones tales como TvTime y MythTV.

Hoy me toca publicar una versión extremadamente release candidate de este grabber tv_grab_ar.py, originada por una serie de cambios en el sitio web fuente de la información. La actualización ha implicado una reescritura de más de la mitad del código original, por lo cual lo considero una versión aún en pruebas.

Las novedades incluyen:
  • La reescritura completa por los cambios en el sitio web del proveedor.
  • Un nuevo método de descarga de grillas y fichas, algo mas eficiente que el anterior.
  • Arreglos para que el archivo de salida valide contra la definición xmltv.dtd.
  • Conversión del parsing de argumentos desde optparse a argparse.
  • Implementación de los argumentos days y offset.
Es REQUISITO volver a configurar el grabber ejecutando ./tv_grab_ar.py --configure

Esta versión no utiliza el almacenamiento temporal de las fichas de programas (fichas.db) y entre las cuestiones aún no resueltas está la definición de la localización y el tipo de señal de la que se dispone (analógica, digital o hd), que es sobre lo que necesito comentarios de ustedes.

Como siempre, please test & give feedback.

Link de descarga en el post original.

24 comentarios:

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...

hola es la primera ves que trato de usar esta guia y me tira el siguiente error

C:\tvtime>tv_grab_ar.py --configure
File "C:\tvtime\tv_grab_ar.py", line 390
print 'Argentina (%s)' % self.base_domain

Mauro Meloni dijo...

No veo el error en el mensaje. Si podes remitime una salida completa del mensaje de eror para determinar cual es el fallo. De todas formas, a simple vista parecería que estas intentando ejecutar el comando con el intérprete de Python 3, mientras que esta versión de tv_grab_ar.py está preparada para Python 2.7. Prueba instalando esta última versión.

Unknown dijo...

Mi error fue ejecutar python en Windows , no me di cuenta que esto era para Linux cuando pueda instalo Linux en mi maquina y te comento como anda .
gracias

Unknown dijo...

muchas gracias lo pude usar desde windows con python 2.7 luego de descargar la libreria xml por eso no funcionaba . y luego lo pase al windows media center usando el big screen epg . anda 10 puntos cuesta un poco configurarlo pero una ves que lo enganchas todo ok muchas gracias nuevamente . si alguien necesita ayuda para configurarlo en WMC no hay problema en ayudarlo .

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Fernando dijo...

@distribuidora dulzuras: ¿Cambiaste algo en el BIG Screen EPG para hacerlo funcionar ? El mío procesa el XML pero la guía nunca aparece en el WMC ... sigue vacía...

Unknown dijo...

si todo gracias a @mauro meloni y sus correcciones permanentes.. Alguien consiguió que el big screen funcione de forma permanente me quedan solo unos días.

Unknown dijo...

para que aparezca la guia hay que cargar cada canal por separado en el windows media center cuando usas el big screen epg...

aca les dejo un mini tutorial en inglés

http://www.hazen.co.nz/19_epgSetup3/19in.php

Mariano dijo...

Mauro, como estás. Estoy probando tu programa y la verdad que anda bárbaro.
Tengo una duda, necesito la grilla pero de Cablevision HD, y la lista de canales que me está devolviendo el configure es la lista de canales de Cablevision Clasico.
¿Hay alguna manera de obtener la lista digital o hd?

Saludos, Mariano

Mauro Meloni dijo...

Que tal, Mariano. La verdad no tengo idea, hace rato que no utilizo el script, y cuando hice el cambio para que tome la nueva grilla no me fijé si se podían obtener los datos de HD. Probablemente se puedan cambiar algunas cosas. En cuanto tenga tiempo veo qué se puede hacer.

Saludos!

Anónimo dijo...

Hola Mauro como estas. Sabes que he usado hasta ahora tu proceso perfectamente, pero desde hace un par de dias me esta dando un error.
Este es el mensaje de error:
Retrieving /TVGridWS/TvGridWS.asmx/ReloadGrid (709|
HTTP error: HTTP Error 500: Internal Server Error
Retrieving /TVGridWS/TvGridWS.asmx/ReloadGrid (36|8
HTTP error: HTTP Error 500: Internal Server Error

No sé si seré yo que estoy haciendo algo mal, pero no he cambiado nada.

Saludos, Mariano
mi email es msurghy@gmail.com

Mauro Meloni dijo...

Que tal, Mariano.

Gracias por el aviso. Efectivamente, han cambiado algunas cosas del sitio de Cablevisión. En cuanto pueda le doy un vistazo para ver los cambios y hacer las correcciones que sean necesarias.

Quedamos en contacto.
Saludos,

Mauro Meloni dijo...

Mariano, recién subí al post original una nueva versión con algunos cambios, por las dudas prueben y comenten.

Anónimo dijo...

Gracias Mauro, lo voy a probar.
Excelente lo tuyo.
Abrazo, Mariano

Mariano dijo...

Hola Mauro, como estas.

Te escribo porque he comenzado a usar la versión que trae la descripcion del programa, actores, imagenes, etc. Esta muy bueno el xml que devuelve, muy completo.
Pero he notado que muchos programas no coinciden con lo que informa la guia que está en la página de CV. La información de CV es correcta.

Tomo un programa (por ejemplo de A24), el nombre y el horario estan bien, pero la descripcion, actores, imagenes, pertenecen a un programa 2 o 3 horas despues del programa que estoy viendo.

Se repite en varios canales y en muchos programas.
Quise ver un poco el código fuente para tratar de entenderlo pero es muy complicado para mí.

Te consulto si en algun momento tenes tiempo de revisarlo para ver si descubris a que se debe el problema.

Desde ya muchas gracias.
Mariano

Mauro Meloni dijo...

Buenas Mariano, todo bien. Espero por allá también.

Gracias por avisar del desfase entre los programas y las descripciones. Lamentablemente en esta última época no dispongo de mucho tiempo para tocar código, pero haré lo posible para pegarle una mirada para ver por donde puede venir el error.

Saludos!

Mariano dijo...

Gracias Mauro!
Acabo de verificar que si uso la opción de caché funciona bien.

Saludos, Mariano

Mariano dijo...

Hola Mauro, como estás.

Sabes que desde esta semana dejo de andar el proceso de la guia, donde dice Retrieving Channer List. Pensé que Cablevision no tendria cargada la programacion pero sí está.
¿Será que cambiaron algo de la página?

Saludos, Mariano

Anónimo dijo...

Hola Mariano, probá a modificar la siguiente linea (nº 567) en el script:

url += ‘?cl=%d’ % self.codigo_zona

Por:

url += ‘?int=1&cl=%d’ % self.codigo_zona

o si quieren obtener los canales digitales:

url += ‘?int=1&cl=%d&pr=3’ % self.codigo_zona

Saludos

Mariano dijo...

Genial Mauro, lo acabo de probar y anduvo perfecto.

Pasame una dirección, te tengo que mandar como mínimo un fernet!! :)

Muchas gracias de nuevo.
Mariano

Mauro Meloni dijo...

Excelente, Mariano. Debo mencionar que el comentario anterior no fue mío, así que van las gracias para el Anónimo que colaboró con la solución. El premio es todo suyo, je

Mariano dijo...

Bueno Mauro, esperemos que el Anonimo se presente así se hace acreedor del premio. Igualmente gracias para vos que siempre colaboras con esto.

Saludos y que tengas un gran año

Mariano dijo...

Hola Mauro,

Sabes si hay algún servicio similar al tuyo para canales de Colombia?

Saludos, Mariano