Midilibre.fr
Tous les blogs | Alerter le modérateur| Envoyer à un ami | Créer un Blog


19/01/2009

[gnome] - Faire un applet pour ajouter un répertoire ou un fichier à Audacious

capture-0.pngVous commencez a me connaitre maintenant, Python reste pour moi l'outil à tout faire... et j'ai la vilaine manie de travailler avec un casque en écoutant de la musique. Vous allez me dire quel lien entre les deux ? et bien il est tout simple : j'utilise Audacious et je trouve le processus d'importation d'un album dans Audacious non adapté a mon fonctionnement, je voulais quelque chose de simple et de rapide, en gros quand je veux écouter tel album, je souhaite cliquer sur le dossier et ca s'ajoute dans Audacious... (certes je peut faire un glisser déplacer...mais ce n'est pas le propos)

Heureusement pour moi il y a la possibilité de faire des plugins pour Nautilus avec Python. J'ai donc crée un fichier dans le répertoire approprié : ~/.nautilus/python-extensions et l'ai rendu exécutable avec un joli chmod +x ... la dernière étape est le code en lui même ;-) que vous pourrez trouver ici.

Le principe est simple on détecte si un seul élément (fichier ou dossier) est bien sélectionné avec if len(files) != 1 si c'est le cas il faut supprimer la premiere partie de la variable (les 7 premiers caractères sinon on se retrouve avec file:// et python ne sait pas quoi en faire) avec self.filename = urllib.unquote(file.get_uri()[7:]).

Ligne 22 et 23 on vérifie que si le fichier n'est pas un répertoire, il contient bien l'extension approprié pour être lu dans audacious. On branche ensuite le menu au menu contextuel de Nautilus.

Il reste a crée la fonction qui va lancer audacious avec le répertoire ou le fichier en argument :

os.system('audacious "%s"&'%file.get_uri()[7:])

me voila paré pour ajouter a tour de bras des albums dans Audacious.