Skip to content

Commit c54d574

Browse files
committed
updating music tag fixer and adding music number fixer
1 parent 883cb4b commit c54d574

1 file changed

Lines changed: 22 additions & 2 deletions

File tree

python2.7/fix-music-tags.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88
"""
99

1010
from mutagen.easyid3 import EasyID3
11+
import os
1112
import argparse
1213
import glob
14+
import re
1315

1416

1517
def fixTags(fname, keep):
@@ -24,14 +26,32 @@ def fixTags(fname, keep):
2426
del audio[k]
2527
audio.save()
2628

29+
def fixNumber(fname):
30+
audio = EasyID3(fname)
31+
32+
if `'tracknumber'` in audio:
33+
return
34+
35+
else:
36+
try:
37+
tracknumber = re.findall(r'\d+', os.path.basename(fname).split(' ')[0])[0]
38+
audio['tracknumber'] = tracknumber.zfill(2)
39+
audio.save()
40+
except:
41+
return
42+
2743
if __name__ == '__main__':
2844
parser = argparse.ArgumentParser()
2945
parser.add_argument('directory', help='Directory with mp3 files to fix.')
3046
parser.add_argument('--keep', default=['title', 'artist', 'album', 'genre'],
31-
type=str, nargs='+', metavar='TAG',
32-
help="Tags to keep. Default: title, artist, album, genre")
47+
type=str, nargs='+', metavar='TAG',
48+
help="Tags to keep. Default: title, artist, album, genre")
49+
parser.add_argument('--fixnumber', action='store_true',
50+
help="Trying to fix song number.")
3351
args = parser.parse_args()
3452

3553
for fname in glob.glob("{}/*.mp3".format(args.directory)):
3654
print("Fixing tags for {}".format(fname))
3755
fixTags(fname, args.keep)
56+
if args.fixnumber:
57+
fixNumber(fname)

0 commit comments

Comments
 (0)