Créer une arborescence de fichiers mp3 en python

0 Flares 0 Flares ×

Après une récupération d’une grande quantité de mp3 (légale) sur un site, j’ai du faire un script pour renommer automatiquement les fichiers et recréer une arborescence en fonction des tags des fichiers mp3. Suite au téléchargement, tous le fichiers étaient dans le même dossier et portaient un nom du type download_1523645.php.

J’ai utilisé le module python eyed3 pour accéder au tags mp3. Pour l’installation, il faut télécharger le tarball et l’extraire quelque part, puis lancer dans le dossier des sources python setup.py install

Mon script est donné à titre d’exemple et est loin d’être parfait. Il n’y a pas vraiment de gestion d’erreurs :

#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
rename.py
==================

Ce script recrée une arborescence de fichier dans le dossier EXPORT_PATH
en accord avec les tags mp3 des fichiers mp3 se trouvant dans le dossier
ROOT_PATH. Fichiers mp3 portant à la base une extension php.

:copyright: (c) 2011 by Julien Chanséaume.
"""

import eyeD3
import os
import os.path

ROOT_PATH = r"Z:\Temp\mp3"
EXPORT_PATH = r"Z:\Temp\export"
DRY = False

tag = eyeD3.Tag()

for fic in os.listdir(ROOT_PATH):
f = os.path.join(ROOT_PATH, fic)
if f.endswith('.php'):
try:
tag.link(f)
newDir = os.path.join(EXPORT_PATH, tag.getArtist(), tag.getAlbum())
if not os.path.exists(newDir):
# création du dossier
print "new Dir : %s" % newDir
if not DRY:
os.makedirs(newDir)

newFile = ""
if tag.getTitle():
newFile = os.path.join(newDir, "%s.mp3" % tag.getTitle())
else:
newFile = os.path.join(newDir, "%s.mp3" %
os.path.splitext(fic)[0])

# on déplace le fichier
print "move File : %s" % newFile
if not DRY:
os.rename(f, newFile)

except:
pass

0 Flares Twitter 0 Facebook 0 Google+ 0 Buffer 0 0 Flares ×

« »

Un commentaire sur “Créer une arborescence de fichiers mp3 en python

  1. Rétrolien : Python codeline | Pearltrees