miércoles, 9 de noviembre de 2011

Mi sistema personal para organizar series de televisión (II)

Mi sistema para descargar y consumir series ha cambiado sensiblemente desde que escribí este post

Ahora tengo un NAS Buffalo en mi red con cliente de Bittorrent embebido y eso lo cambia todo. Los capítulos ya no bajan a un directorio de mi equipo, sino al disco en red. Antes utilizaba el propio Transmission para mover los capítulos descargados a sus carpetas correspondientes. Una por serie y temporada. Con el uTorrent embebido en el NAS eso ya no es posible. Y el friki que hay en mi no duerme agusto por las noches si no está todo perfectamente automatizado.

Me he hecho un pequeño script que soluciona este problema y lo tengo programado en el cron para lanzarse cada hora. El demonio hace lo siguiente:
  1. Busca en el directorio de descargas archivos comprimidos y los extrae
  2. Elimina los residuos: *.rar, *.r01, *.r02...
  3. Renombra los capítulos para establecer correctamente: serie-episodio-nombre_del_captítulo
  4. Mueve cada capítulo a su directorio correspondiente.
Los pasos 3 y 4 son realmente los interesantes y para ellos hago uso de la herramienta tvnamer, que obtiene la información de las series de thetvdb.com y las renombra convenientemente. 

Aquí tenéis el script para que cualquiera pueda adaptarlo a sus necesidades

#!/bin/bash

DOWNLOADS='/Volumes/share/downloads/bittorrent/'
TV_SHOWS='/Volumes/share/video/tvshows/'

    # Unrar and clean
    cd $DOWNLOADS
    echo "Unraring from $DOWNLOADS"
    find . -type f -name '*.rar' -exec echo "Unraring: " {} \; -exec rar x -y -o- {} \;
    if [ $? == 0 ]
    then
        find . -type f -name '*.r??' -exec echo "Deleting: " {} \; -exec unlink {} \;
    fi
   
    # Rename and organize
    echo "Renaming and moving to $TV_SHOWS"
    find . -type f \( -name *.mkv  -o -name '*.avi' \) -exec tvnamer --batch -r -m -d "$TV_SHOWS%(sersname)s/%(seasonnumber)d/" {} \; >> magic.log 2>&1

Los modificadores al comando tvnamer significan:
  • --batch: hacer todo sin preguntar al usuario
  • -r: recursivo
  • -m: mover a
  • -d: directorio al que se van a mover los archivos una vez renombrados. Se incluirá el nombre de la serie y el número de temporada como subdirectorios
Happy automatization!