ViktorOgnev
10/20/2017 - 1:41 PM

Edit mp3 names via mutagen

Edit mp3 names via mutagen

import os
import re
from mutagen import easyid3


path = '/Users/name/Downloads/Book'

def compf(s: str) -> int:
    num = next(re.finditer(r"\d+_\d+", s)).group()
    track, disc = [int(i) for i in num.split('_')]
    order = track + disc if disc == 46 else track + disc**2
    return order


def reorder_book():
    l = sorted(os.listdir(path), key=compf)
    for i, name in enumerate(l):
        dest = os.path.join(path, f'nudge_{i}.mp3')
        src = os.path.join(path, name)
        print(src, '->', dest)

        os.rename(src, dest)


def edit_tags():
    for name in os.listdir(path):
        mp3file = easyid3.EasyID3(os.path.join(path, name))
        mp3file['title'] = name
        mp3file.save()


if __name__ == 'main':
    reorder_book()