Flexget: Cómo automatizar la descarga de nuestras series y películas favoritas mediante Flexget.

flexget

Hoy quiero enseñaros Flexget, una herramienta multipropósito y multiplataforma diseñada especialmente para automatizar la descarga de todo tipo de contenido multimedia. Flexget utiliza una tecnología denominada broatcatching o de descarga sindicada, es decir, este programa está diseñado para consultar una fuente RSS de distribución de contenidos multimedia y para la descarga de los mismo mediante torrent. Flexget es una aplicación que nos permitirá estar al tanto de nuestros programas y series favoritos sin siquiera tener que preocuparnos de en que canal se están emitiendo. En este artículo vamos a ver como instalarlo y como configurarlo junto con Deluge cómo cliente Torrent.

¿Qué es flexget? Características

Tal y como hemos dicho al principio, Flexget es una herramienta de automatización multiproposito para la descarga de torrent, comics, postcat, series, peliculas, etc. Entre sus capacidades están la siguientes:

  1. Obtención de datos de cualquier fuente de sindicación RSS, HTML, o ficheros de texto CVS
  2. Permite descargar películas de temáticas concretas, puede consultar la calificación de las pelicula antes de descargarla en IMDB y además podemos especificar el año de estreno a partir del cual queremos descargarnos pelis. Podemos también decirle que películas nos hemos visto ya con el fin de que no nos descarguemos dos veces la misma y como no, permite especificar la calidad con la que queremos ver la pelicula. Olvídate de descargarte películas en screemer o Fakes ya que con flexget te descargas lo que quieres descargar.
  3. La descarga de series funciona de un modo parecido. En este aspecto Flexget tiene en cuenta los capítulos descargados para que no nos descarguemos dos veces el mismo capitulo y además también podemos especificar la calidad de reproducción. Si seguimos una gran cantidad de series y no queremos perdernos ningún capitulo, esta es sin duda una gran extensión. Flexget soporta también el uso de expresiones regulares y nos permite almacenar los capitulos descargados de forma ordenada, cada uno en su carpeta correspondiente.

Lo mejor de todos modos, es ver todas estas capacidades con un ejemplo.Al final de este artículo os dejo dos ficheros de configuración correctamente configurados y listos para funcionar, uno para descargar series y otro para la descarga de películas.

 Instalación.

 El sistema operativo con el que estoy trabajando ahora mismos es ubuntu 11.10 así que vamos a ver el procedimiento para instalarlo en esta distro, aunque como hemos dicho al principio esta herramienta es multiplataforma y admite ser instalada tanto en Windows como en Mac. Sea como sea, flexget requiere que tengamos python instalado. En Ubuntu podemos instalarlo muy fácilmente, bien con nuestro gestor de paquetes favoritos o bien mediante una consola y tecleando la orden:

 sudo apt-get install python.

Si lo deseamos podemos confirmar que se ha instalado correctamente tecleando la orden:

 python -V

Si todo ha ido bien, la salida del comando nos mostrará que versión tenemos instalada de este lenguaje de programación.

 El siguiente paso es instalar easy_install en nuestro sistema, en Ubuntu se hace fácilmente tecleando la orden:

sudo apt-get install python-setuptools

Solo nos quedará instalar flexget, para ello utilizaremos el comando:

 sudo easy_install flexget

Si queremos verificar que todo ha ido en orden podemos ejecutar el comando:

 flexget -V

La salida de ese comando nos mostrará la versión de flexget que tenemos instalada en nuestro sistema

Configuración.

Este programa lee, por defecto, su configuración en un fichero de texto plano denominado, config.yml, que es almacenado en el directorio ~/.flexget, o sea, en un directorio oculto que esta guardado en el perfil del usuario actualmente logueado. Este fichero hay que crearlo a mano y como veremos a continuación, su correcta configuración puede llegar a ser algo engorrosa ya que aparte de los múltiples parámetros que admite hay que tener mucho cuidado con la sangría o indentación de cada línea. Hasta tal punto es así este último aspecto que si metemos un espacio de más en una línea el programa fallará y no funcionará correctamente. Así pues, hay que tener en cuenta, que un parámetro de primer nivel no lleva espacio, un parámetro de segundo nivel lleva dos espacios, un parámetro de tercer nivel lleva cuatro espacios... y así sucesivamente, es importante tener en cuenta esto.

De todas formas, creo que lo mejor, es que lo veamos con unos ejemplos de configuración para ello vamos a basarnos en lo que ya existen en la web de flexget. Comenzamos con un fichero de configuración básico pero funcional.

 

Feeds:        
  nombre_feed:
    rss: http://example.com/rss.xml
    series:
      - dexter
      - south park
    download: ~/torrents/


La primera línea feeds, le indica a Flexget las fuentes de sindicación en las que va a basarse para obtener los torrent a descargar. En el ejemplo hay un solo origen RSS pero podríamos poner más de uno. Observar el comando rss, que precede a la url, lleva cuatro espacios desde el margen, el comando nombre_feed, lo podemos sustituir por cualquier expresión que nos ayude a identificar esa fuente en los logs del programa ya que eso nos ayudará a detectar posibles problemas.

Extensión series: Le dice a flexget que series tiene que buscar en la fuente RSS que hayamos especificado, en este ejemplo tenemos dos series. La extensión series, espera que especifiquemos nuestras series favoritas en forma de lista tal y como vemos en el ejemplo. Observar que lleva una sangría de dos espacios respecto al parámetro “series”.

Download: Lo siguiente es decirle a flexget que tiene que hacer con los torrent encontrados, en este ejemplo, simplemente le decimos que descargue el torrent y que lo almacene en la carpeta /torrent ubicada en el perfil de nuestro usuario, posteriormente, tendremos que utilizar un cliente Torrent para proceder a la descarga del capitulo de nuestra serie. Si deseamos automatizar este proceso tendríamos que especificar nuestro cliente torrent en el fichero de configuración. Flexget. Los clientes admitidos son los siguientes: rTorrent, uTorrent, Transmission, Deluge Los dos últimos son admitidos como extensión, es decir, que los podemos introducir como parámetro en nuestro fichero de configuración con el fin de automatizar el proceso de descarga del fichero torrent obtenido por flexget. Un fichero típico de configuración suponiendo que tuviéramos Deluge instalado en nuestro sistema quedaría así.

Feeds:        
  nombre_feed:
    rss: http://example.com/rss.xml
    series:
      - dexter
      - south park
    deluge:

Una vez que hayamos completado nuestro fichero config.yml podemos testear que todo está en orden mediante el comando

 flexget --test

 Si tecleamos flexget sin parámetros lanzaremos la aplicación y se ejecutará lo que hayamos especificado en el fichero de configuración.

Instalación de Deluge.

Instalar Deluge es muy fácil, además este cliente también es multiplataforma por lo que tiene versiones tanto para Windows, como para Linux y Mac. En Ubuntu lo podemos instalar de un modo muy sencillo con nuestro gestor de paquetes o bien mediante la linea de comandos.

apt-get install deluge

Si queremos automatizar el proceso de descarga de los torrent, tendremos que instalar también el demonio, denominado deluged,

 apt-get install deluged

 En Windows a parte del cliente también podemos ejecutar el programa como servicio para asegurarnos de la correcta automatización de las descargas de los torrent obtenidos por flexget.

 http://dev.deluge-torrent.org/wiki/TracStandalone

Programación de flexget.

 Automatizar la descarga de nuestras series favoritas es muy sencillo, solo tenemos que acceder al programador de tareas de nuestro sistema operativo. En el caso de linux, las tareas programadas son llevadas a cabo mediante cron. Así pues, solo tenemos que editar nuestro fichero de tareas programadas y agregar una linea adicional para que flexget se ejecute cuando deseemos. Os recordamos el proceso que básicamente consiste en teclear el comando “crontab -e” para editar nuestro fichero de tareas programadas y agregar la linea

 @hourly /usr/local/bin/flexget --cron

 La ruta /usr/local/bin es donde flexget se instala por defecto, podemos verificar si esta ruta de instalación es correcta en nuestro caso con tan solo teclear la orden.

whereis flexget

 En el ejemplo ejecutamos flexget cada hora, pero podemos determinar cualquier otro periodo de ejecución, (semanal, mensual, cada media hora, etc). Por ultimo, observareis que hemos agregado el parámetro - - cron a flexget. Este parámetro le dice que cuando se ejecute deje solo los datos más relevantes en nuestro log. Por cierto, el log de este aplicación esta ubicado en la carpeta ~/.flexget/ y se denomina flexget.log. No esta de más verificar el fichero de vez en cuando para comprobar que todo está en orden.

Ejemplos de configuración.

Para finalizar este artículo os dejo dos ficheros de configuración, son los que yo utilizo para la descarga de series y películas. Cada linea está comentada para que veáis más detalladamente lo que es capaz de hacer Flexget.

En mi caso concreto yo ejecuto semanalmente en mi fichero cron el fichero de configuración general config.yml, ahi es donde tengo detalladas las series que me gustan para descargarlas de forma desatendida. Adicionalmente tengo un fichero denominado movies.yml que ejecuto de forma manual para descargar películas acorde a unos parámetros preestablecidos. Podemos ejecutar Flexget especificando un fichero diferente del predeterminado agregando el modificador -u a la linea de comando. En mi caso, tecleo de forma manual, en una consola, estecomando:

flexget -c movies.yml

Con ello consulto de forma manual la novedades cinematográficas en las fuentes de sindicación especificadas y procedo a la descarga de las mismas.

En fin, lo mejor es que descarguéis los ficheros y los veáis :-) Para su configuración me he basado en este otro fichero que engloba ambos dos y es bastante más generíco.


Fichero config.yml para descarga de series.
Fichero movies.yml para descarga de pelis.
Top