Страница 1 из 1

Переименовываем кучу mp3 файлов в по шаблону artist - title.

Добавлено: 22 фев 2012, 11:59
Gen1us2k
Дело было так. Я собрал кучу песенок в папочку. Наименования были разные, потому что были вырваны из разных мест.
Захотел я чуваку скинуть то, что я собрал в виде Артист - Название.
Сгенерил плейлист клементина, он в xml, думал, что распарсю, но не. не было всех треков в нем. Решил забирать по ID3. вывод получил, допилил функционал переименования файлов.
в общем-то так.
[python]#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os, re
from optparse import OptionParser

def getMusic(path):
import os
musicFiles = []
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith(".mp3"):
musicFiles.append(file)
musicFiles.sort()
return musicFiles

def main():
usage = "Usage: %prog -d SOURCE_DIR"
parser = OptionParser(usage=usage)
parser.add_option("-d", "--dir", dest="dir", help="dir, where mp3 files stored")
(options, args) = parser.parse_args()
if not options.dir:
parser.error("You must specify Source dir")
musicDir = options.dir
musicFiles = getMusic(musicDir)
os.chdir(musicDir)
for musicFile in musicFiles:
track = getID3Tag(musicFile)
filename = str(track) + ".mp3"
print filename
os.rename(musicFile, track + ".mp3")

def clean_name(name):
try:
match = re.search(ur"([a-zA-Z0-9\.\'\ \!\-])+", name)
return match.group()
except:
return ""

def getID3Tag(mp3):
fp = open(mp3)
fp.seek(-128,2)
fp.read(3)
title = clean_name(fp.read(30))
artist = clean_name(fp.read(30))
album = clean_name(fp.read(30))
anno = fp.read(4)
comment = fp.read(28)

return artist.strip() + ' - ' + title.strip()

if __name__=='__main__':
main()
[/python]

mp3_renamer -d /путь/до/папки/с/кучей/mp3шек

Re: Переименовываем кучу mp3 файлов в по шаблону artist - ti

Добавлено: 22 фев 2012, 16:08
Infernal Flame
Gen1us2k
а с рекурсией возможно?

чтобы типа каталог /home/my/Mysic в котором дофига всякого с вложениями отпарсить и по-пацански переименовать?

Re: Переименовываем кучу mp3 файлов в по шаблону artist - ti

Добавлено: 23 фев 2012, 20:06
Raven
Infernal Flame
Gen1us2k писал(а):mp3_renamer -d /путь/до/папки/с/кучей/mp3шек
Думаю it's by default

Re: Переименовываем кучу mp3 файлов в по шаблону artist - ti

Добавлено: 24 фев 2012, 10:41
Gen1us2k
Infernal Flame
Надо будет попробовать. проблема в том, чтобы были id3 теги.

Re: Переименовываем кучу mp3 файлов в по шаблону artist - ti

Добавлено: 24 фев 2012, 12:21
Infernal Flame
Gen1us2k
ну теги - моя забота уже %)

просто таким образом мог бы свою коллекцию привести к стандартному виду