kralizeck / tvhstar-parche-epg

parche sobre proyecto tvhstar para procesar xml obtenido desde nueva web de guía de movistar - Agosto'18
2 stars 0 forks source link

Vuelve a no funcionar #5

Closed Sockolet closed 5 years ago

Sockolet commented 5 years ago

Pues parece que se ha roto otra vez, cada vez consigue exportar menos canales:

``[meiden@ubuntu]:(10.1Mb)~/guiatv/tvhstar$ sh parche-epg.sh 5 -e ######################################################### Mon Feb 18 18:44:17 CET 2019 ######################################################### -e Solicitando la guía desde el 2019-02-18 al 2019-02-22...

-e Convirtiendo /tmp/guia.movistar-xml-TMP.xml a formato xml viejuno de exportación de movistar...

Error: Unencoded < Line: 102389 Column: 198 Char: . at error (/home/meiden/guiatv/tvhstar/node_modules/sax/lib/sax.js:651:10) at strictFail (/home/meiden/guiatv/tvhstar/node_modules/sax/lib/sax.js:677:7) at SAXParser.write (/home/meiden/guiatv/tvhstar/node_modules/sax/lib/sax.js:1080:13) at Parser.exports.Parser.Parser.parseString (/home/meiden/guiatv/tvhstar/node_modules/xml2js/lib/parser.js:322:31) at Parser.parseString (/home/meiden/guiatv/tvhstar/node_modules/xml2js/lib/parser.js:5:59) at exports.parseString (/home/meiden/guiatv/tvhstar/node_modules/xml2js/lib/parser.js:354:19) at /home/meiden/guiatv/tvhstar/borra_duplis_y_ordena.js:46:3 at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:511:3) events.js:183 throw er; // Unhandled 'error' event ^

TypeError: Cannot read property 'export' of undefined at /home/meiden/guiatv/tvhstar/borra_duplis_y_ordena.js:49:22 at Parser. (/home/meiden/guiatv/tvhstar/node_modules/xml2js/lib/parser.js:307:18) at emitOne (events.js:116:13) at Parser.emit (events.js:211:7) at SAXParser.onerror (/home/meiden/guiatv/tvhstar/node_modules/xml2js/lib/parser.js:122:26) at emit (/home/meiden/guiatv/tvhstar/node_modules/sax/lib/sax.js:624:35) at error (/home/meiden/guiatv/tvhstar/node_modules/sax/lib/sax.js:653:5) at strictFail (/home/meiden/guiatv/tvhstar/node_modules/sax/lib/sax.js:677:7) at SAXParser.write (/home/meiden/guiatv/tvhstar/node_modules/sax/lib/sax.js:1080:13) at Parser.exports.Parser.Parser.parseString (/home/meiden/guiatv/tvhstar/node_modules/xml2js/lib/parser.js:322:31)

tvhstar@1.0.0 build /home/meiden/guiatv/tvhstar babel src -d build

src/cadenasHOME.js -> build/cadenasHOME.js src/cadenasHOME_din.js -> build/cadenasHOME_din.js src/cadenasREMOTE.js -> build/cadenasREMOTE.js src/cadenasREMOTE_din.js -> build/cadenasREMOTE_din.js src/movistar.js -> build/movistar.js src/server.js -> build/server.js src/utils.js -> build/utils.js

tvhstar@1.0.0 start /home/meiden/guiatv/tvhstar node build/server.js

-- Inicio del ciclo de consulta del EPG


1 - Descarga del EPG XML Movistar => PORT http://comunicacion.movistarplus.es/guiaProgramacion/exportar => EPG 2019-02-18 -> 2019-02-24 1 - Descarga del EPG XML Movistar - OK 2 - Leyendo el fichero XML de movistar /tmp/guia.movistar-xml.xml 2 - Leyendo el fichero XML de movistar /tmp/guia.movistar-xml.xml - OK 3 - Parsing de XML(movistar) a JSON(movistar) 3 - Parsing de XML(movistar) a JSON(movistar) - OK 4 - Salva JSON Movistar /tmp/guia.movistar-xml.json 4 - Salva JSON Movistar /tmp/guia.movistar-xml.json - OK 5 - Convierte JSON(movistar) a JSONTV 5 - Convierte JSON(movistar) a JSONTV - OK 6 - Salva JSONTV /tmp/guia.movistar-xmltv.json 6 - Salva JSONTV /tmp/guia.movistar-xmltv.json - OK 7 - Convierte JSONTV a XMLTV 7 - Convierte JSONTV a XMLTV - OK 8 - Salva XMLTV /home/meiden/epg/guia.xml 8 - Salva XMLTV /home/meiden/epg/guia.xml - OK

Hecho!! - 45 canales y 3712 pases Fin de ejecución

kralizeck commented 5 years ago

Sospecho que el xml de movistar tiene algún pase raruno. Necesitaría el archivo /tmp/guia.movistar-xml-TMP.xml.bak y el texto de error (por lo del número de línea) para revisar.

kralizeck commented 5 years ago

Creo que ya he encontrado el problema. Resulta que a mi también me estaba fallando, pero es que no le había prestado ninguna atención a la descarga y proceso de la guía desde hace un tiempo.

Es un problema del xml generado por movistar, que tiene un pase rarito. Cerca de la línea que indica el error, hay un pase que acaba en:

>BR designtimesp=''19137''<.

y eso hace que falle el proceso del xml.

He añadido al script que limpie eso (s/>BR designtimesp=''.*?''<//). También he añadido algunos controles de error básicos para culr, tamaño del xml recibido y proceso con node.js. También he actualizado el data.txt con los canales actuales que se pueden exportar de la página de movistar.

Tendréis que descargar y sustituir (¡¡HACED COPIA DE VUESTROS FICHEROS ANTES!!):

Y revisar el valor de la varibale ficheroXML en parche-epg.sh (por defecto es /tmp/guia.movistar-xml-TMP.xml)

Ya me contáis si os funciona.

Saludos.

gedas07 commented 5 years ago

Muchas gracias de nuevo Luego a la noche lo pruebo Lo que a mi no me salía el archivo de tmp , ni me lo creaba. O yo no lo veía

gedas07 commented 5 years ago

Muchísimas Gracias de nuevo . Cambiado el data y el archivo parche y funciona perfectamente otra vez Lo dicho 1000 gracias de nuevo Una pregunta y petición de ayuda más, En el epg que descarga sale el nombre de lo que dan pero en el resto sale No disponible ejemplo

Got talent y debajo No disponible En vez de salir una explicación de lo que es

kralizeck commented 5 years ago

Muchísimas Gracias de nuevo . Cambiado el data y el archivo parche y funciona perfectamente otra vez Lo dicho 1000 gracias de nuevo

Malegro. A disfrutarlo hasta el siguiente enredo de movistar. ;-)

Una pregunta y petición de ayuda más, En el epg que descarga sale el nombre de lo que dan pero en el resto sale No disponible ejemplo

Got talent y debajo No disponible En vez de salir una explicación de lo que es

Me temo que eso es lo que exporta movistar. Poco que hacer salvo que uses otros suministradores de guía que sean más completos para esos canales.

Saludos.

gedas07 commented 5 years ago

Me temo que eso es lo que exporta movistar. Poco que hacer salvo que uses otros suministradores de guía que sean más completos para esos canales.

Me puse estos días el grabber que coge la info directamente del paquete contratado y salía ok la información,pero salía por ejemplo lunes ,martes , miércoles, sábado 😔

Sockolet commented 5 years ago

Pues yo algo he hecho mal.

La lie, tiré de backup y ahora parece que exporta todo lo que debe pero tvheadend no importa absolutamente nada:

meiden@ubuntu:(10.0Mb)~/guiatv/tvhstar$ sh parche-epg.sh 5 -e ######################################################### Wed Feb 20 20:39:39 CET 2019 ######################################################### -e Solicitando la guía desde el 2019-02-20 al 2019-02-24...

-e Convirtiendo /tmp/guia.movistar-xml.xml a formato xml viejuno de exportación de movistar...

Procesando xml /tmp/guia.movistar-xml.xml


1 - Total pases inciales: 15618 2 - Pases duplicados eliminados: 0 3 - Total pases finales: 15618 4 - Revisando fechas de 15618 pases Total pases con fecha corregida: 464 5 - Total cadenas: 104 (pases totales: 15618 )


Escrito nuevo xml en /home/meiden/epg/guia.xml Ya se puede pasar a tvhstar para que haga su magia...

tvhstar@1.0.0 build /home/meiden/guiatv/tvhstar babel src -d build

src/cadenasHOME.js -> build/cadenasHOME.js src/cadenasHOME_din.js -> build/cadenasHOME_din.js src/cadenasREMOTE.js -> build/cadenasREMOTE.js src/cadenasREMOTE_din.js -> build/cadenasREMOTE_din.js src/movistar.js -> build/movistar.js src/server.js -> build/server.js src/utils.js -> build/utils.js

tvhstar@1.0.0 start /home/meiden/guiatv/tvhstar node build/server.js

-- Inicio del ciclo de consulta del EPG


1 - Descarga del EPG XML Movistar => PORT http://comunicacion.movistarplus.es/guiaProgramacion/exportar => EPG 2019-02-20 -> 2019-02-24 => Se solicita el EPG para 116 canales

2019-02-20 20:40:06.832 spawn: Executing "/storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv"

2019-02-20 20:40:08.044 xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv: grab took 1 seconds

2019-02-20 20:40:08.097 xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv: parse took 0 seconds

2019-02-20 20:40:08.097 xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv: channels tot= 0 new= 0 mod= 0

2019-02-20 20:40:08.097 xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv: brands tot= 0 new= 0 mod= 0

2019-02-20 20:40:08.097 xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv: seasons tot= 0 new= 0 mod= 0

2019-02-20 20:40:08.097 xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv: episodes tot= 0 new= 0 mod= 0

2019-02-20 20:40:08.097 xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv: broadcasts tot= 0 new= 0 mod= 0

Cagontó.... :(

kralizeck commented 5 years ago

Me puse estos días el grabber que coge la info directamente del paquete contratado y salía ok la información,pero salía por ejemplo lunes ,martes , miércoles, sábado 😔

Poco más te puedo ayudar con eso. Me suena que había algún proyecto en github o alguna página que usaban ese sistema. Te toca "san google"... También tienes la opción que te decía hace (tiempo) que usa @LuisPalacios para complementar el tvhstar Tendrás que configurar y usar tvhstar para unos canales y otro grabber para otros.

kralizeck commented 5 years ago

Pues yo algo he hecho mal.

La lie, tiré de backup y ahora parece que exporta todo lo que debe pero tvheadend no importa absolutamente nada:

¿Ese backup incluía el src/server.js de tvshtar?

tvhstar@1.0.0 start /home/meiden/guiatv/tvhstar node build/server.js

=> Se solicita el EPG para 116 canales

Cuando yo lanzo parche-epg.sh y llega a esta parte de tvhstar no sale esa línea. Por eso te preguntaba lo del backup. A mí me sale esto:

Inicio del ciclo de consulta del EPG
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
1 - Descarga del EPG XML Movistar
  => PORT http://comunicacion.movistarplus.es/guiaProgramacion/exportarProgramacion
  => EPG 2019-02-22 -> 2019-03-07
1 - Descarga del EPG XML Movistar - OK
2 - Leyendo el fichero XML de movistar /tmp/guia.movistar-xml.xml
2 - Leyendo el fichero XML de movistar /tmp/guia.movistar-xml.xml - OK
3 - Parsing de XML(movistar) a JSON(movistar)
3 - Parsing de XML(movistar) a JSON(movistar) - OK
4 - Salva JSON Movistar /tmp/guia.movistar-xml.json
4 - Salva JSON Movistar /tmp/guia.movistar-xml.json - OK
5 - Convierte JSON(movistar) a JSONTV
5 - Convierte JSON(movistar) a JSONTV - OK
6 - Salva JSONTV /tmp/guia.movistar-xmltv.json
6 - Salva JSONTV /tmp/guia.movistar-xmltv.json - OK
7 - Convierte JSONTV a XMLTV
7 - Convierte JSONTV a XMLTV - OK
8 - Salva XMLTV /tmp/guia.xml
8 - Salva XMLTV /tmp/guia.xml - OK

Mi sospecha es que estás usando el src/server.js original de tvhstar y no el modificado. Creo que deberías volver a mirar y revisar las instrucciones de instalación y uso de mi parche.

Suerte!

Sockolet commented 5 years ago

Lo he montado desde 0, y funciona, pero ahora tvheadend me está cargando un epg que no tiene sentido:

2019-02-23 10:46:45.397 spawn: Executing "/storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv"

2019-02-23 10:46:45.756 xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv: grab took 0 seconds

2019-02-23 10:46:46.450 xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv: parse took 0 seconds

2019-02-23 10:46:46.451 xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv: channels tot= 100 new= 0 mod= 0

2019-02-23 10:46:46.451 xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv: brands tot= 0 new= 0 mod= 0

2019-02-23 10:46:46.451 xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv: seasons tot= 0 new= 0 mod= 0

2019-02-23 10:46:46.451 xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv: episodes tot= 2908 new= 2908 mod= 2908

2019-02-23 10:46:46.451 xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_movistartv: broadcasts tot= 2908 new= 2908 mod= 2908

(Salen tan pocos porque solo tengo parseados como 10 canales de prueba).

imagen

guia.zip

No sé si puedes darme alguna pista de lo que ocurre, porque a mí no se me ocurre explicación

Sockolet commented 5 years ago

Por ejemplo: me aparece en bucle "hijos de los hombres" en este canal:

imagen

Luego vas a la guia generada y solo aparece un pase:

La Noche de los Oscar (91ª edición) La Noche de los Oscar (91ª edición) Programa de análisis de las nominaciones a los Oscars con todos los datos sobre la mesa ¿Ganará por primera vez una película hablada en castellano el premio a la mejor película? ¿A quien le dedicará esta vez el premio Christian Bale? 20190224 Social / Political issues / Economics Película: Hijos de los hombres Hijos de los hombres En el año 2027, un joven de 18 años fallece. Esto no tendría mayor importancia si no fuera porque era la persona más joven del planeta. Las mujeres han perdido la capacidad de procrear y el ser humano parece abocado a su extinción. En este panorama, Theodore, un exactivista resignado a vivir en una sociedad sin futuro, sólo se relaciona con su caótico amigo Jasper, un dibujante de viñetas satíricas. Para Theo todo cambia el día en que se reencuentra con Julian, la mujer que fue su compañera sentimental y que ahora lidera una organización clandestina de ayuda a los inmigrantes. Julian le pide un favor: que consiga papeles para que Kee, una mujer, pueda salir del país sin problemas. Desde ese momento, Theo la acompañará, junto a un grupo de personas, a la costa. Pero Theo pronto descubre que Kee guarda un secreto que puede ser la salvación para toda la humanidad. Película dirigida por el realizador mexicano Alfonso Cuarón, basada en la novela "Hijos de hombres" de la escritora británica P. D. James. El conocido actor británico Clive Owen encarna a Theo, un héroe a su pesar, acompañado por Michael Caine y Julianne Moore. Aunque los tres papeles principales están encarnados por actores de renombre, el protagonista pasa gran parte de su tiempo con una actriz novel de 19 años, la londinense Clare-Hope Ashitey. La película ganó el BAFTA a la mejor fotografía y el mejor diseño de producción y obtuvo también tres nominaciones a los Oscar: mejor guión adaptado, mejor fotografía y mejor montaje. 20190224 Movie / Drama Fama a bailar 2019 24/02/2019 Todas las parejas bailan por primera vez su coreografía individual. Gospel Factory y Nathy Peluso nos visitan y actúan en directo. 20190224 Social / Political issues / Economics
kralizeck commented 5 years ago

Puedes probar a hacer limpieza de los datos de guía que tiene el tvh y volver a cargarlos de los exportados por tvhstar:

Hay que parar el servicio

systemctl stop service.tvheadend42

y borrar el archivo de la epg

rm /storage/.kodi/userdata/addon_data/service.tvheadend42/epgdb.v2

iniciar el servicio

systemctl start service.tvheadend42

y lanzar la actualización de la epg del grabber de tvhstar (tarda un rato en responder), o dejarlo que lo haga solo según su programación.

kralizeck commented 5 years ago

Me puse estos días el grabber que coge la info directamente del paquete contratado y salía ok la información,pero salía por ejemplo lunes ,martes , miércoles, sábado

@gedas07, no sé si este es el grabber que dices, pero es al que me refería yo: https://github.com/MovistarTV/tv_grab_es_movistartv

gedas07 commented 5 years ago

Si , ese es el que puse y he dejado puesto los dos . El tuyo y este