folder_search

Para este tutorial ya debemos haber completado el tutorial de como crear un repositorio (parte 1), como instalar Python  y Como instalar PyCharm para armar nuestro repositorio. Ahora veamos como conectar todo y finalmente poder publicar nuestro repositorio para compartir nuestros Add-ons favoritos a la comunidad. Para crear un repositorio primero debemos entender que es lo que necesita Kodi para leer los Add-ons. Kodi tiene varios tipos de Add-ons tales como metadata, plugin.video, repository, script, etc. Para seguir con esta serie de tutoriales vamos de crear un add-on tipo repository y conectar todo en Github.

Notas

  • Lo primero que necesitamos es el add-on tipo “repository” que es un archivo zip que podemos compartir o publicar en alguna página web. Este archivo zip al ser instalado en Kodi (con “instalar desde archivo zip”) tiene la información suficiente y necesaria para conectar e instalar todos los add-ons que existan en nuestro repositorio. En otras palabras, no es necesario compartir la dirección de Github para repartir tu repositorio.
  • El archivo zip que vamos a generar va a contener la dirección física de un archivo addons.xml y de un archivo addons.xml.md5 que estarán en el directorio raiz de nuestro repositorio. Este archivo xml contiene la información de donde se encuentran físicamente todos nuestros add-ons, y será generado automáticamente por un código escrito en Python.
  • Pero antes de generar el repositorio vamos a necesitar tres cosas; (i) un archivo llamado addon.xml que nosotros vamos a generar manualmente y que es diferente al addons.xml que genera Python, (ii) una imágen con extensión jpg llamada fanart.jpg de tamaño 1920 x 1080 y (iii) una imagen con extensión png llamado icon.png con tamaño 360 x 360 (unidades en pixeles). Estos archivos serán la imágen de nuestro repositorio, así que sean creativos y pongan su sello en su repositorio.
  • Notarán que existen unos nuevos directorios en nuestro repositorio local que se llaman .git e .idea y que solo se ven en Windows (en Mac OS X no van a aparecer), el primero es el que genera Github, así que ese no lo vamos a tocar. El segundo lo genera PyCharm, y podemos borrarlo después de que terminemos todo el proceso.

Para generar tu repositorio sigue estos pasos:

  1. Dentro de la carpeta raíz de nuestro repositorio local (C:\Users\tuUsuario\KodiMexico\miNuevoRepo\) vamos a crear una nueva carpeta, esta debe ser de tipo repositorio y tener el nombre que le quieras dar a tu repo. En mi caso le puse “repository.kodi-mexico” sin las comillas. En tu caso solo debes de cambiar el nombre, pero dejar “repository.” ya que esto lo distingue como un add-on tipo repository.
    1_repo
  2. Abrimos la nueva carpeta “repository.kodi-mexico” y metemos nuestras imágenes (fanart.jpg y icon.png), aparte creamos un archivo de texto y lo llamamos addon.xml, si no puedes cambiar la extensión de este archivo de .txt a .xml te recomiendo usar PyCharm para crear y guardar este archivo con este tipo de extensión (ten cuidado de que no se llame addon.xml.txt), o baja el archivo que estamos creando para este tutorial. (Sigue el link y presiona Download en la parte superior derecha)
    2_repo
  3. El archivo addon.xml debe tener la dirección de nuestro repositorio. Para saber esta dirección entramos a GitHub (https://github.com/) en nuestro navegador y entramos al repositorio que ya habíamos creado, en mi caso en miNuevoRepo. Antes de continuar y para que no te confundas, son dos archivos xml diferentes, uno que esta dentro de la carpeta repository.kodi-mexico llamado “addon.xml” (generado manualmente en este paso) y otro que está en el directorio raiz llamado “addons.xml” (generado por python en el paso 11).
    one
  4. La dirección que indica nuestro navegador que en mi caso es “https://github.com/kodimexico/miNuevoRepo” la debemos de modificar a “https://raw.githubusercontent.com/kodimexico/miNuevoRepo/master/addons.xml” (pon atención en la palabra “raw” al inicio de la liga y master/addons.xml al final de esta misma). Esta dirección por ahora no sirve ya que aún no subimos el archivo que va a generar Python. la otra dirección que necesitamos es “https://raw.githubusercontent.com/kodimexico/miNuevoRepo/master/addons.xml.md5” para el archivo .md5 que igual se genera automáticamente y finalmente “https://raw.githubusercontent.com/kodimexico/miNuevoRepo/master” que apunta al repositorio de GitHub. Al final tu archivo debe de quedar similar al de la imagen.
    one
  5. Analiza la imagen y toma en cuenta que en la segunda línea donde dice addon id=”repository.kodi-mexico” (marcada en rojo) debe tener el nombre de tu carpeta donde estas creando el repo (este nombre es muy importante así que cámbiala al nombre de tu carpeta). Si no cambias esta línea, tu repositorio no servirá.
    two
    En los campos de “name=”, “version=” y “provider-name=” puedes ponerle lo que tu quieras, ya que son el nombre de tu repo (que quieras que aparezca en Kodi), la versión de tu repo (yo le puse 1.1.0), y el nombre de proveedor (tu alias o nombre). la tercer línea tiene otra vez “name=” aquí puedes poner nuevamente el nombre de tu repo. En las siguientes tres líneas vienen las tres direcciones que apuntamos en el paso anterior, que son tus direcciones físicas en la red. En la novena línea viene el resumen de tu repo, yo solo le puse el nombre de mi repo, y en la décima línea donde dice “description” puede ir lo que tu quieras que aparezca cuando damos click derecho al repositorio y pedimos ver la información del mismo (En Kodi).

    Importante: Algo que debes tomar en cuenta también es la versión de tu repo (marcado en azul) ya que si en futuras versiones de tu repo cambias este número (digamos que a 1.1.1) Kodi verá este cambio y actualizará tu repo automáticamente, por ejemplo si quisieras cambiar la dirección física de tu repositorio o agregar nuevos add-ons. Así que si en un futuro quieres hacer cambios significativos, cambia el numero de versión, sincroniza el repositorio en GitHub, y todos los usuarios que tengan tu repositorio recibirán la actualización automáticamente. Una vez que hayas personalizado tu archivo addon.xml, lo guardamos y lo cerramos
  6. Ya que tenemos el archivo addon.xml listo regresa al directorio raiz y vamos a generar todo con Python. Baja este archivo de código Python (Sigue el link y presiona Download en la parte superior derecha) y copialo en tu carpeta raíz, en mi caso lo voy a copiar en “C:\Users\tuUsuario\KodiMexico\miNuevoRepo\”. Este código hará que python entre a cada carpeta, lea cada archivo addon.xml (el cual ya está dentro de cada carpeta de plugin.video y repository.), comprimirá cada contenido a un archivo .zip, y dejará una copia de las imágenes fanart.jpg, icon.png y del archivo addon.xml fuera de este archivo zip. Nota: Antes de correr el código python asegúrate de que no exista ningún archivo zip dentro de las carpetas de plugin.video, es decir que estén descomprimidos.
    6_repo
  7. Regresa a PyCharm y abre el archivo repo_maker.py haciendo click en la flecha detras del nombre tu repo y doble click en el nombre del archivo py.
    7_repo
  8. En el menú superior, elegimos Run -> Run… y en la ventana que aparece damos click a “edit configurations” (editar configuración). Damos click en la flecha de “Defaults” luego en “Python” y nos aseguramos de que Python interpreter tenga la version correcta. Presionamos el boton de Cancel. Este paso solo lo deben de hacer la primera vez, en subsecuentes ocasiones solo tendrán que dar click en Run -> Run…
    9_repo
  9. Ahora si presionamos nuevamente en Run -> Run… y seleccionamos repo_maker.py. Al correr el código aparecerá un mensaje de todo lo que está generando nuestro código de python, que son los Addons comprimidos en .zip, si todo sale bien el programa terminará con un mensaje que dice “Process finished with exit code 0” (proceso terminó con código de salida 0).
    10_repo
    11_repo
  10. Si regresamos a nuestra carpeta veremos que ahora aparecen los archivos addons.xml, addons.xml.md5, y que dentro de cada carpeta ya todo está comprimido en archivos .zip, incluyendo nuestro repositorio con todo y su versión. El archivo repository.kodi-mexico-1.0.0.zip puedes bajarlo aquí y comprobar que este archivo tiene la información necesaria y suficiente para instalar todos los Add-ons que puse para este tutorial. Pruebalo tu mismo en Kodi.
    12_repo
  11. Lo único que falta es sincronizar nuestra carpeta de GitHub, pero antes de hacer esto cierra PyCharm, mueve el archivo repo_maker.py a otra carpeta ya que no lo necesitamos en nuestro repositorio, y borra la carpeta “.idea”. Ahora si abrimos el programa de GitHub que instalamos en el tutorial anterior. Como los archivos cambiaron notaran todos los cambios en la ventana inicial de GitHub.
    13_repo
  12. Capturamos el “Summary” (Resumen) y la “Description” (Descripción) y damos click en “Commit to master” y esperamos a que todo se suba y se modifique. Lo que va a pasar ahora es que se van a borrar los archivos descomprimidos, y se copiarán los archivos comprimidos, es decir se va a crear una copia exacta de nuestro repositorio local en GitHub (los archivos marcados en rojo se borrarán y los que están en verde se subirán).
    14_repo
  13. Por último damos click en Sync y con esto ya tenemos nuestro repositorio en línea y listo para usarse en Kodi.
    15_repo

¿Como podemos comprobar que ya funciona nuestro repositorio? Hay tres formas

  • Nos vamos a la pagina de Github para ver si ya están ahi nuestros nuevos archivos, ahÍ deben de estar los archivos addons.xml y addons.xml.md5 mas la carpeta de nuestro repositorio.
    16_repo
  • Comprobamos que la liga https://raw.github.com/kodimexico/miNuevoRepo/master/addons.xml del archivo que generó Python funciona (prueba tu mismo)
    17_repo
  • Instalamos nuestro repo en Kodi usando el archivo local que conecta todo (C:\Users\tuUsuario\KodiMexico\miNuevoRepo\repository.kodi-mexico\repository.kodi-mexico-1.0.0.zip) y verificamos que los addons se pueden instalar, bajalo aqui e instalalo tu mismo. Estos add-ons se bajan y se instalan desde Github.

     

Y eso es todo, un poco tedioso y complicado. Y mas cuando lo hacemos por primera vez. Una recomendación es hacer un respaldo de las carpetas de nuestro repositorio en otro lugar de tu disco duro antes de comprimirlas con Python. Así cada que queramos agregar nuevas carpetas o Add-ons, borramos las carpetas que ya procesó Python, pegamos nuestro respaldo, agregamos los nuevos Add-ons, cambiamos la versión del repo y comprimimos todo con Python. Por ultimo abrimos GitHub (el programa) y sincronizamos todo. Cualquier corrección o comentario no duden en escribirlo en este post. Síguenos en nuestra página de Facebook