Téléchargez vos sous-titres en ligne de commande

le 13/10/2014 dans Linux #console#Linux#python#Raspberry Pi#ruby#terminal

Mon Raspberry Pi (avec Raspbian) me sert essentiellement pour "piloter" mon NAS (un D-Link DNS-320 avec fun_plug par-dessus), lancer le téléchargement de séries que je suis (avec FlexGet) ou pour accéder à la musique qui y est stockée (avec le duo MPD / ncmpcpp).
Autant dire que je ne lance jamais de serveur X et que tout se fait en ligne de commande ; d'où la nécessité de pouvoir récupérer les sous-titres, depuis addic7ed.com et opensubtitles.org, via un terminal. N'étant pas entièrement satisfait par Periscope, je me suis tourné vers des outils spécifiques à chacun de ces deux sites.

Depuis addic7ed.com

Il existe au moins deux alternatives pour télécharger vos sous-titres depuis le site addic7ed.com :

  • addic7ed-cli de Benoit Zugmeyer, disponible sur GitHub ;
  • addic7ed-ruby de Michael Baudino, disponible également sur GitHub.

addic7ed-cli

addic7ed-cli repose sur Python (versions 2.x seulement). Pour l'installer, rien de plus simple grâce à l'outil pip.

Commencez par installer le paquet python-pip :

$ sudo apt-get install python-pip

Une fois cela fait, lancez la commande :

$ sudo pip install https://github.com/BenoitZugmeyer/addic7ed-cli/archive/master.zip

Vous pouvez dès lors utilisez cet utilitaire avec la commande addic7ed :

$ addic7ed -l french The.Walking.Dead.S05E01.720p.HDTV.x264-KILLERS.mkv

Pour en savoir plus :

$ addic7ed -h

addic7ed-ruby

addic7ed-ruby, comme son nom l'indique, est écrit en Ruby et est facilement installable avec gem :

$ sudo gem install addic7ed

addic7ed-ruby fournit lui aussi la commande addic7ed :

$ addic7ed -l fr The.Walking.Dead.S05E01.720p.HDTV.x264-KILLERS.mkv

Pour en savoir plus :

$ addic7ed -h

Utiliser les deux simultanément

Si vous souhaitez pouvoir utiliser à la fois addic7ed-cli et addic7ed-ruby, il faut alors les installer différemment, ces deux outils ayant le même nom d'exécutable (addic7ed). Voici la marche à suivre.

On nettoie, c'est-à-dire que l'on désinstalle et addic7ed-cli et addic7ed-ruby :

$ sudo pip uninstall addic7ed
& sudo gem uninstall addic7ed

Pour addic7ed-cli

On récupère l'archive de la dernière version de addic7ed-cli et on la décompresse :

$ cd /tmp/ && wget https://github.com/BenoitZugmeyer/addic7ed-cli/archive/master.zip && unzip master.zip && cd addic7ed-cli-master/

Éditez le fichier setup.py

$ nano setup.py 

et remplacez la ligne

setup(name='addic7ed',

par

setup(name='paddic7ed',

et la ligne

          'console_scripts': ['addic7ed=addic7ed.__init__:main'],

par

          'console_scripts': ['paddic7ed=addic7ed.__init__:main'],

Modifiez ensuite le fichier addic7ed/__init__.py en remplaçant la ligne (472)

    version = pkg_resources.require('addic7ed')[0].version

en

    version = pkg_resources.require('paddic7ed')[0].version

Ensuite, lancez la commande

$ sudo python setup.py install

Si tout fonctionne bien, vous devriez maintenant avoir la commande paddic7ed disponible :

$ paddic7ed -h

Pour addic7ed-ruby

On récupère via Git la dernière version de addic7ed-ruby :

$ cd /tmp/ && git clone https://github.com/michaelbaudino/addic7ed-ruby.git && cd addic7ed-ruby/

On renomme le fichier bin/addic7ed en bin/raddic7ed :

$ mv bin/addic7ed bin/raddic7ed

On édite le fichier addic7ed.gemspec :

$ nano addic7ed.gemspec 

et on remplace les deux lignes

s.name        = 'addic7ed'

et

s.executables = ['addic7ed']

par

s.name        = 'raddic7ed'

et

s.executables = ['raddic7ed']

Ensuite, lancez la commande

$ gem build addic7ed.gemspec 

Si tout se passe bien, vous devriez avoir un message de ce type :

 Successfully built RubyGem
  Name: raddic7ed
  Version: 0.3.4
  File: raddic7ed-0.3.4.gem

Il ne nous reste alors plus qu'à l'installer :

$ sudo gem install raddic7ed-0.3.4.gem 

La commande raddic7ed devrait maintenant être disponible :

$ raddic7ed -h

Depuis opensubtitles.org

Pour télécharger des sous-titres depuis opensubtitles.org, rien de plus simple ; il suffit de télécharger le script écrit par akexakex et disponible sur GitHub.

$ cd /bin/ && sudo wget https://raw.githubusercontent.com/akexakex/subdl/master/subdl && sudo chmod +x subdl

La commande subdl est dès lors disponible :

$ subdl -h