Compare commits

..

No commits in common. "511abd591d119ecb7de32ef8bedf2cae10cac70c" and "d3b5d86bca2392e4f3f40bcef315e76eb900c83e" have entirely different histories.

2 changed files with 21 additions and 25 deletions

View File

@ -9,11 +9,11 @@ def process_mp3(mp3_path)
dirname = File.dirname(mp3_path)
current_info, stderr, status = Open3.capture3("id3info", mp3_path)
current_info.force_encoding("ASCII-8BIT")
#if current_info =~ /TIT2\s.*: (.*)/
# title = $1
#else
if current_info =~ /TIT2\s.*: (.*)/
title = $1
else
title = File.basename(mp3_path).sub(/\.mp3$/, "")
#end
end
artist = File.basename(File.dirname(File.dirname(mp3_path)))
album = File.basename(File.dirname(mp3_path))
if current_info =~ /TYER\s.*: (.*)/
@ -33,9 +33,8 @@ def process_mp3(mp3_path)
args += %W[--track=#{track_number}] if track_number
args += %W[--release-year=#{year}] if year
# 2017 Outback likes to show picture for OTHER but not FRONT_COVER...
#args += %W[--add-image=#{album_art}:OTHER] if album_art
args += %W[--add-image=#{album_art}:OTHER] if album_art
args += [mp3_path]
system("eyeD3", "--remove-all", mp3_path)
system("eyeD3", *args)
end

View File

@ -35,7 +35,7 @@ def choose_artwork(mp3s, jpgs):
if len(mp3s) < min_mp3s_for_album:
return None
if len(jpgs) == 0:
sys.stderr.write("No .jpg files found in %s\n" % (os.path.dirname(mp3s[0])))
sys.stderr.write("No .jpg files found\n")
return None
if len(jpgs) > 1:
sys.stderr.write("Multiple .jpg album artwork files found\n")
@ -61,7 +61,7 @@ def clean_tag(mp3, tagname):
orig_text = tag.text[0]
new_text = clean_title(orig_text)
if new_text != orig_text:
sys.stdout.write("Changing %s from \"%s\" to \"%s\" for %s\n" % (tagname, orig_text, new_text, mp3.filename))
sys.stdout.write("Changing %s from \"%s\" to \"%s\"\n" % (tagname, orig_text, new_text))
tag.text = [new_text]
return True
return False
@ -69,23 +69,20 @@ def clean_tag(mp3, tagname):
def process_mp3(mp3_path, artwork_path):
mp3 = mutagen.mp3.MP3(mp3_path)
current_tags = mp3.tags
if current_tags is not None:
changed = False
changed = clean_tag(mp3, "TIT2") or changed
changed = clean_tag(mp3, "TALB") or changed
if artwork_path is not None:
apic_tags = [tag for tag in current_tags if tag == "APIC" or tag.startswith("APIC:")]
if len(apic_tags) < 1:
print("Adding APIC tag to %s..." % mp3_path)
jpg_data = read_file(artwork_path)
apic = mutagen.id3.APIC(0, "image/jpeg", 0, "", jpg_data)
mp3.tags.add(apic)
changed = True
if changed and not dry_run:
sys.stdout.write("Writing %s\n" % mp3_path)
mp3.save()
else:
sys.stdout.write("Warning: no tags found for %s\n" % (mp3_path))
changed = False
changed = clean_tag(mp3, "TIT2") or changed
changed = clean_tag(mp3, "TALB") or changed
if artwork_path is not None:
apic_tags = [tag for tag in current_tags if tag == "APIC" or tag.startswith("APIC:")]
if len(apic_tags) < 1:
print("Adding APIC tag to %s..." % mp3_path)
jpg_data = read_file(artwork_path)
apic = mutagen.id3.APIC(0, "image/jpeg", 0, "", jpg_data)
mp3.tags.add(apic)
changed = True
if changed and not dry_run:
sys.stdout.write("Writing %s\n" % mp3_path)
mp3.save()
def main(argv):
base_dir = "."