Desarrollo de add-ons en Kodi

Cómo programar add-ons en XBMC / Kodi: Un add-on más completo (continuación)

Ayer vimos cómo añadir la sección de vídeos de la web oficial de Disney Junior, analizando paso a paso la extracción de los vídeos del listado, cómo añadirlos a la lista de items de XBMC, y cómo reproducir un vídeo seleccionado por el usuario.

Hoy terminamos el add-on añadiendo otra sección para ver los vídeos del canal de YouTube de Disney Junior, muy útil porque tiene una playlist para cada una de las series incluyendo algunos extras como el karaoke «Canta con Disney Junior».

También veremos cómo utilizar el teclado en pantalla de XBMC para incluir un buscador, que nos permita acceder fácilmente a una lista de resultados relevantes en YouTube, y cómo utilizar el sistema de configuración de un add-on en XBMC para dejar que el usuario personalice algunos aspectos.

¿Comenzamos?

Leer más

Desarrollo de add-ons en Kodi

Cómo programar add-ons en XBMC / Kodi: Un add-on más completo

Estamos a mitad de camino de este tutorial, pero ya tienes el conocimiento necesario para hacer un add-on bastante completo. Espero que a estas alturas ya te hayas convencido de que es algo relativamente sencillo sin necesidad de saber demasiado de programación. Y ya sabes cómo obtener datos de una página HTML usando expresiones regulares, que es lo más difícil.

Así que antes de entrar en la recta final vamos construir un add-on paso a paso desde cero, con el objetivo de afianzar lo que has aprendido en las entregas anteriores y de paso divertirte un poco.

Te aconsejo que elijas un sitio web que te guste como fuente de vídeos, para mí he elegido hacer un add-on completo que permita ver los vídeos de Disney Junior tanto en la web oficial como en YouTube. No se trata de un add-on demasiado complejo, como podrás comprobar enseguida, pero no va a desmerecer en nada a cualquiera de los que puedes encontrar publicados en muchos repositorios 🙂

Puedes elegir tu propia fuente para hacer el add-on, siguiendo los mismos pasos que yo voy a dar, o construir conmigo este interesante proyecto.
Leer más

Desarrollo de add-ons en Kodi

Cómo programar add-ons en XBMC / Kodi: Patrones avanzados con expresiones regulares

Ayer vimos un patrón muy simple, que te permite extraer el texto que hay entre los tags de apertura y cierre de un elemento HTML (o XML), y también vimos cómo extraer el valor de un atributo. Si tenemos en cuenta que en HTML todo son tags o atributos, parece que con estos dos patrones deberíamos tener resuelto cualquier problema ¿no?

En realidad se resuelven la mayoría de los casos, pero estos patrones tienen dos limitaciones importantes que vamos a intentar resolver usando las dos técnicas que se describen en esta entrada.

La primera limitación está en el hecho de que en HTML unos tags pueden estar dentro de otros, lo que complica bastante la elaboración de expresiones regulares cuando sólo buscas los símbolos «<» y «>».

Y la segunda limitación, más práctica que tecnológica, está en la dificultad que pueden llegar a tener las expresiones regulares en las páginas HTML más complejas. Esto hace muy difícil la depuración, y el posterior mantenimiento, por lo que en este caso atacaremos el problema con un enfoque pragmático que nos permitirá hacer más fácil la tarea.

Leer más

Desarrollo de add-ons en Kodi

Cómo programar add-ons en XBMC / Kodi: Patrones básicos con expresiones regulares

Las expresiones regulares son extrañamente complejas.

Al menos siempre lo han sido para mí, que aún recuerdo los sudores fríos que me entraban cuando las estudiaba en clase de Álgebra. Siempre pensé que luego nunca me iba a topar con ellas en el mundo real… ironías del destino 🙂

Una expresión regular es una forma de representar un patrón de texto, una cadena que quieres encontrar dentro de un texto. Por ejemplo si quieres sacar los números que hay en este texto

Nací el 10 de abril del 2017. ¿Cuánto vivire?

puedes usar la expresión regular

\d+

El símbolo «d» representa a un número, junto con el símbolo «+» que viene a decir que ese número puede repetirse una o más veces. Se pone un «\» delante del símbolo «d» para distinguirlo de la letra «d».

El resultado buscar en esa frase con ese patrón usando la función «find_multiple_matches» de PluginTools nos devuelve una lista con dos elementos:

cadena = "Nací el 10 de abril del 2017. ¿Cuánto vivire?"
patron = "\d+"
plugintools.find_multiple_matches(cadena,patron)
->
["10","2017"]

Leer más