Nettoyer les fichiers youtube-dl

youtube-dl sert à télécharger de la musique ou des vidéos depuis youtube entre autre.

Seulement les noms de fichiers enregistré comportent tout un tas de parasite, il faut les nettoyer.

C’est là qu’entre en jeu ce petit script, il suffit de l’exécuter dans le répertoire contenant les musiques.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sun Jun  9 10:41:49 2019

@author: cGIfl300

Nettoyer les téléchargements de youtube-dl.
"""

debug=False

import os

#Obtenir le répertoire courant
repertoire=os.getcwd()+os.sep #merci krako!

if debug:
    print("Répertoire courant ",format(repertoire))

#Obtenir la liste des noms de fichiers du répertoire appelant
LSTfichiers=[f for f in os.listdir('.') if os.path.isfile(os.path.join('.',f))]

if debug:
    print(LSTfichiers)

#Boucle pour chaque fichier
for f in LSTfichiers:
    r=f.split('.')
    #Déterminer l'extension du nom de fichier (.mp3 par exemple)
    if len(r) > 1:
        extension=r[-1] #Encore merci krako, t'assure!
        del r[-1]
        s='.'.join(r)
    else:
        s=f
        extension=''
    #Filtrer jusqu'à ce qu'un seul caractère "-" ne subsiste (supprimer le reste)
    r=s.split('-')
    while len(r) > 2:
        if len(r) > 1:
            del r[-1]
            s='-'.join(r)
            r=s.split('-')
    #Trouver la dernière itération du caractère "["
    r=s.split('[')
    if len(r) > 1:
        del r[-1]
        s='['.join(r)
    #Trouver la dernière itération du caractère "("
    r=s.split('(')
    if len(r) > 1:
        del r[-1]
        s='('.join(r)
    #Supprimer les espaces restant avant l'extension (si il y en a une)
    if extension == '':
        nomfinal=s.strip()
    else:
        nomfinal=str(s.strip())+'.'+str(extension)
    print(f,'>',nomfinal)
    
    #Renomer le fichier
    if not os.path.exists(nomfinal):
        os.rename(f, nomfinal)
    else:
        print('Le fichier existe déjà.')
print("Vos fichiers sont renomé")