MovistarTV / tv_grab_es_movistartv

Grabber XMLTV para Movistar TV
GNU General Public License v3.0
45 stars 20 forks source link

Error al crear guía XMLTV #3

Closed fernandoescolar closed 6 years ago

fernandoescolar commented 7 years ago

Hola,

Configuré el grabber para que descargara datos de Cataluña, pero me da error al ejecutarse por un casting que falla. El log es el siguiente:

[01/10/2017 11:44:54] [INFO] --------------------------------------------------- [01/10/2017 11:44:54] [INFO] MovistarTV EPG Grabber [01/10/2017 11:44:54] [INFO] Parámetros: ['--tvheadend', '/storage/movistar/.xmltv/MovistarTV'] [01/10/2017 11:44:54] [INFO] --------------------------------------------------- [01/10/2017 11:44:54] [INFO] Cookie: JSESSIONID=7781B8C3A000A002F3E272DE56F17B86-node3; Path=/appserver/; HttpOnly [01/10/2017 11:44:54] [INFO] tvPackages: UTX6C|UTX7D [01/10/2017 11:44:54] [INFO] Demarcation: 1 [01/10/2017 11:44:54] [INFO] Buscando el Proveedor de Servicios de Catalunya [01/10/2017 11:44:54] [INFO] Proveedor de Servicios de Catalunya: 239.0.2.140 [01/10/2017 11:44:54] [INFO] Descargando canales, paquetes e índices [01/10/2017 11:47:00] [INFO] Canales: 396 [01/10/2017 11:47:00] [INFO] Paquetes: 166 [01/10/2017 11:47:00] [INFO] Días de EPG: 8 [01/10/2017 11:47:00] [INFO] Multithread: 3 descargas simultáneas [01/10/2017 11:47:00] [INFO] Descargando EPG_0_BIN.imagenio.es [01/10/2017 11:47:00] [INFO] Descargando EPG_1_BIN.imagenio.es [01/10/2017 11:47:00] [INFO] Descargando EPG_2_BIN.imagenio.es [01/10/2017 11:47:37] [INFO] Descargando EPG_3_BIN.imagenio.es [01/10/2017 11:47:38] [INFO] Descargando EPG_4_BIN.imagenio.es [01/10/2017 11:47:39] [INFO] Descargando EPG_5_BIN.imagenio.es [01/10/2017 11:48:13] [INFO] Descargando EPG_6_BIN.imagenio.es [01/10/2017 11:48:13] [INFO] Descargando EPG_7_BIN.imagenio.es [01/10/2017 11:48:57] [INFO] Generando la guía XMLTV: descargando info extendida [01/10/2017 11:48:57] [CRITICAL] invalid literal for int() with base 10: '' Traceback (most recent call last): File "/storage/.kodi/addons/service.tvheadend42/bin/tv_grab_es_movistartv", line 1187, in epg_x = xmltv.generate_xml(epg) File "/storage/.kodi/addons/service.tvheadend42/bin/tv_grab_es_movistartv", line 922, in generate_xml root.append(self.__build_programme_tag(channel_id, parsed_epg[chid][program], tz)) File "/storage/.kodi/addons/service.tvheadend42/bin/tv_grab_es_movistartv", line 968, in __build_programme_tag tzdst = int(tz) + time.localtime().tm_isdst ValueError: invalid literal for int() with base 10: ''

MovistarTV commented 7 years ago

¿Qué versión de Python estás usando?

Si puedes, ejecuta esto en una consola de Python:

import time; time.timezone

El resultado debería ser -3600.

fernandoescolar commented 7 years ago

La versión que tengo es: Python 2.7.13 Y al ejecutar por consola el comando, efectivamente me da -3600:

Python 2.7.13 (default, Aug 19 2017, 04:42:15)
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import time; time.timezone
-3600
>>>

La solución que conseguí, sin tener demasiada idea de python, fue intentar hacer un save cast del int de la tz, que es lo que daba problemas... Localmente cambie la línea 968:

tzdst = int(tz) + time.localtime().tm_isdst

Por algo parecido a esto:

 try: 
    tzdst = int(tz) + time.localtime().tm_isdst
 except ValueError:
    tzdst = time.localtime().tm_isdst

Entendí que si tz era nulo, debía ser 0. Y la verdad es que me funcionó todo genial y tengo el EPG funcionando :). El problema es que creo que esta solución es un poco "ñapa" jeje

MovistarTV commented 7 years ago

No debería estar pasando eso...

De todos modos el error fue mío desde el principio por no trabajar con valores absolutos y andar haciendo conversiones de cadena a entero y viceversa.

Cuando tenga un rato libre lo corrijo.

MovistarTV commented 7 years ago

Hecho.

Descarga el script, a ver si ahora te va bien...