Saludos.
busqueda global

Re: busqueda global
Mensaje por SeiTaN » 27 Feb 2016, 21:11
Saludos.
-
- Mensajes: 801
- Registrado: 12 Jun 2014, 23:28
Re: busqueda global
Mensaje por super_berny » 27 Feb 2016, 21:21
Fijate q se trata de una url, si la escarpo no encuentra la imagenSeiTaN escribió:Hola super_berny, a mi eso me ha pasado en el trabajo, al igual que json tiene sus cosas, en xml hay que escapar determinados caracteres para que sea valido, prueba con &
Saludos.

Objeto Item
Modulo tmdb
Mejorando nuestros canales
Github y Pelisalacarta
Tips Github y Pelisalacarta
Publicidad
Re: busqueda global
Mensaje por SeiTaN » 27 Feb 2016, 21:51
Código: Seleccionar todo
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<channel>
<id>pelismagnet</id>
<name>PelisMagnet</name>
<active>true</active>
<adult>false</adult>
<language>es</language>
<fanart></fanart>
<thumbnail><![CDATA[https://scontent-mad1-1.xx.fbcdn.net/hphotos-xap1/v/t1.0-9/12347847_1076909009009716_7103785122088615061_n.jpg?oh=7e01f94af38ae5bac10e1d02d36f695b&oe=570141FA]]></thumbnail>
<bannermenu>http://media.tvalacarta.info/pelisalacarta/bannermenu/pelismagnet.png</bannermenu>
<update_url>https://raw.githubusercontent.com/tvalacarta/pelisalacarta/master/python/main-classic/channels/</update_url>
<version>1.1</version>
<date>21/02/2016</date>
<changes>a�?�±adida funcionalidad de series, mejorar en graficos e informaci�?�³n mostrada</changes>
<categories>
<category>torrent</category>
<category>movie</category>
<category>serie</category>
<category>documentary</category>
</categories>
<settings>
<id>include_in_global_search</id>
<type>bool</type>
<label>Incluir en busqueda global</label>
<default>false</default>
<enabled>true</enabled>
<visible>true</visible>
</settings>
</channel>

Re: busqueda global
Mensaje por jesus » 28 Feb 2016, 10:21
Por eso da igual que no esté escapada la "&"...
Podemos usar CDATA, y detectarlo en la expresión regular, pero ¿para qué necesitas validar el xml en primer lugar?
Re: busqueda global
Mensaje por SeiTaN » 28 Feb 2016, 11:21
Yo diría lo contrario, es la solución, ya que xml tb es bastante puñetero para validarjesus escribió:El problema es que no usamos el parser XML para leer el fichero, sino expresiones regulares.

Usamos la sintaxis xml, como se podría usar html, si le cambias la extensión el addon se lo tragaría igual ya que como comentas se usan expresiones regulares.
Si usasemos xml como lo que es, para acceder a su estructura mediante nodos, se complica en tanto en cuanto lo hace su estructura, la solución fácil sería usar librerias. Mientras que un json válido es un simple diccionario y su estructura nos daría igual.
Re: busqueda global
Mensaje por robalo » 28 Feb 2016, 12:51
channel.bajui
Código: Seleccionar todo
<id>bajui</id>
<name>Bajui</name>
<language>es</language>
<update_url></update_url>
<active>true</active>
<include_in_global_search>false</include_in_global_search>
<version>1</version>
<adult>false</adult>
<date>28/08/2015</date>
<changes>First pelisalacarta 4 release</changes>
<fanart></fanart>
<thumbnail></thumbnail>
<category>movie</category>
<category>serie</category>
<category>documentary</category>
<category>vos</category>
-
- Mensajes: 801
- Registrado: 12 Jun 2014, 23:28
Re: busqueda global
Mensaje por super_berny » 28 Feb 2016, 16:37
robalo escribió:jesus creo que lo mejor va a ser renombrar todos los xml...

Pero mira q os gusta ser extremistas.
No hace falta cambiar nada. Intento hacer modificaciones q añadan funcionalidades sin que por ello lo que hay ahora mismo deje de funcionar o almenos funcione con unos minimos cambios. Por ejemplo, cuando propuse los tan denostados channel.json lo hice de forma paralela a los xml de modo q funcionara con los dos tipos de archivos. Cuando introduje en algunos de mis canales los infoLabels lo hice de tal modo q no afectara al resto de canales (como no podia ser de otro modo), etc..
Como ya dije en otro hilo los channel.json fueron rechazados y ya esta. No voy a insistir en ellos ni reabrir debates cerrados (asi no se avanza), pero eso no implica q no los use internamente para otras cosas. Lo que hice fue crear una funcion en jsontools para convertir los xml a json y poder seguir utilizando el codigo de guitools q ya tenia con unos minimos cambios.
De todos los xml q hay actualmente en la rema develop de github solo 3 me han dado algun problema:
- En uno habia una etiqueta de cierre erronea (ponia </version> cuando deberia poner </changes> o algo asi)
- Otro no estaba codificado como UTF-8 (aunque en el encabezado pusiera UTF-8) y daba error con la palabra 'añadido'
- Y por ultimo el que ha motivado todo esta discusion absurda. La solucion pasa por utilizar un acortador de url o cambiar de servidor la imagen.
SeiTaN escribió:<![CDATA[xxxxx]]> te permite ignorar la validación
Como bien dice Jesus añadir CDATA obligaria a modificar la expresion regular para q channeltools.get_channel_parameters retorne correctamente el thumbnail y no es lo que quiero. A lo mejor mañana aparece otro canal q utiliza una url para el fanart q tampoco valida ¿modificaremos otra vez la funcion para un solo canal? Creo q es mas sencillo modificar el XML si se puede.
Para que la funcion jsontools.xmlTojson funcione el XML debe ser correcto, sino no funciona. Del mismo modo q el scraper no funcionara si se cambian los tags, por ejemplo si en un canal tenemos <active>true</adult> cuando busquemos channel_parameters["active"] petara. Con ello quiero decir q es necesario utilizar algunas convenciones.jesus escribió:Podemos usar CDATA, y detectarlo en la expresión regular, pero ¿para qué necesitas validar el xml en primer lugar?
Objeto Item
Modulo tmdb
Mejorando nuestros canales
Github y Pelisalacarta
Tips Github y Pelisalacarta
Re: busqueda global
Mensaje por SeiTaN » 28 Feb 2016, 17:32
Problemas que pueden surgir del json:
- Problema. No es un fichero json valido.
- Solución. Si da error no se carga el canal, al igual que se hace ahora cuando no se encuentra el fichero .xml
- Problema. Hay que controlar si no existe la clave.
- Esto pasa igual que con las expresiones regulares, la puedes liar y no devuelve nada y que el resto de fichero no se carga, con .json valido(el punto anterior), si tienes que acceder a una clave o haces un try/excepts o simplemente tiras del metodo dict.get("clave", ""), y si no encuentra la clave te devolvería vacío.
Así de memoría no recuerdo más posibles problemas que puedan darse.
El replantearnos su uso, viene de la manera de poder configurar los canales de manera específica e independiente, sin tener que modificar settings.xml. Si se siguiera usando los .xml como hasta ahora las expresiones regulares cumplen perfectamente su función.
Yo de momento he conseguido mi modificación de manera simple una vez que he aprendido un poco más de expresiones regulares.
En el caso del desarrollo de super_berny es un engorro, al menos me lo parece, coger todos los valores de su parte y convertirlo en un diccionario, y si modifica alguna cosa va a tener que tocar de nuevo, ya que no es conversión de xml a json, porque no se trata como xml, es modificar la función que recupera los datos para esa expresión regular; cuando leer el .json ya te lo convierte en un diccionario y no te tienes que preocupar.
Saludos.
Re: busqueda global
Mensaje por robalo » 28 Feb 2016, 21:22

Más de lo mismo, se eliminan más marcas innecesariassuper_berny escribió:Para que la funcion jsontools.xmlTojson funcione el XML debe ser correcto, sino no funciona. Del mismo modo q el scraper no funcionara si se cambian los tags, por ejemplo si en un canal tenemos <active>true</adult> cuando busquemos channel_parameters["active"] petara. Con ello quiero decir q es necesario utilizar algunas convenciones.
<active>true</active>
por
<active>true
active=true
active:true
etc...
Re: busqueda global
Mensaje por SeiTaN » 28 Feb 2016, 21:40
robalo escribió:"Extremistas"Interesante conclusión
Más de lo mismo, se eliminan más marcas innecesariassuper_berny escribió:Para que la funcion jsontools.xmlTojson funcione el XML debe ser correcto, sino no funciona. Del mismo modo q el scraper no funcionara si se cambian los tags, por ejemplo si en un canal tenemos <active>true</adult> cuando busquemos channel_parameters["active"] petara. Con ello quiero decir q es necesario utilizar algunas convenciones.
<active>true</active>
por
<active>true
active=true
active:true
etc...
Código: Seleccionar todo
{'active': true }

Y extremista quizás se quede corto, mejor taliban


- Ayuda sobre plugins
- ↳ tvalacarta
- ↳ Problemas (no me funciona...)
- ↳ Preguntas (cómo se hace...)
- ↳ Sugerencias (estaría bien que hubiera...)
- ↳ pelisalacarta
- ↳ Problemas (no me funciona...)
- ↳ Preguntas (cómo se hace...)
- ↳ Sugerencias (estaría bien que hubiera...)
- ↳ pelisalacarta (For Italian users)
- ↳ Problemi (Non mi funziona...)
- ↳ Domande (Come fare a...)
- ↳ Suggerimenti (Sarebbe bello che...)
- ↳ mywebtv
- ↳ Problemas (no me funciona...)
- ↳ Preguntas (cómo se hace...)
- ↳ Sugerencias (estaría bien que hubiera...)
- ↳ MediaExplorer
- ↳ Balandro
- ↳ Otros plugins
- ↳ Alfa
- ↳ Alfa (For Italian users)
- ↳ Tutoriales
- Ayuda sobre mediacenters
- ↳ XBMC / Kodi
- ↳ Plex
- ↳ Android
- ↳ Raspberry Pi
- ↳ Boxee
- ↳ WiiMC
- ↳ Enigma 2
- ↳ Otros media center
- Sugerencias
- ↳ Nuevos canales
- ↳ Mejoras
- Desarrolladores
- Comunidad
¿Qué es Mi media center?
Este es el foro oficial de soporte para pelisalacarta, tvalacarta y mywebtv.
También es un lugar para compartir tus experiencias con dispositivos multimedia y software media center, puede que encuentres algo interesante que ni siquiera sabías que se podía hacer.
Primeros pasos en Kodi
Si estás empezando con Kodi, o si estás interesado en sacarle más partido, puedes echar un vistazo a esta colección de video-tutoriales.
Aprenderás a crear y optimizar tu biblioteca, a instalar add-ons, a buscar subtítulos...
Cómo reportar un problema
Si tienes un problema en alguno de los plugins y quieres reportarlo, no olvides incluir el log.
Para que resulte útil tienes que activar la opción de "log completo" en el plugin, luego reiniciar Kodi y dar los pasos necesarios hasta que se produzca el problema.
Luego copia tu fichero de log, siguiendo las instrucciones que se describen en este enlace, e inclúyelo al final de la descripción de tu problema.
Aprende a programar para Kodi
Si sabes programar, esta serie de tutoriales que describen paso a paso cómo desarrollar tu propio add-on para Kodi.
Y si quieres añadir tus propios canales a pelisalacarta también te contamos paso a paso cómo hacerlo en este enlace.
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 16 invitados