Preliminary lyric embedding changes

master
Anthony Forsberg 2017-05-23 14:47:41 -04:00
parent c3bcb77fd6
commit 5d9327195a
3 changed files with 11 additions and 5 deletions

2
.gitignore vendored
View File

@ -43,3 +43,5 @@ nosetests.xml
*.xml
bandcamp_dl/asyncdownloader.py
*.log
bandcamp_dl/__init__\.py

View File

@ -35,9 +35,9 @@ class BandcampDownloader:
self.template = template
self.directory = directory
self.overwrite = overwrite
self.lyrics = lyrics
self.grouping = grouping
self.embed_art = embed_art
self.embed_lyrics = embed_lyrics
self.no_slugify = no_slugify
def start(self, album: dict):
@ -111,7 +111,7 @@ class BandcampDownloader:
"date": album['date']
}
if 'lyrics' in track.keys() and self.lyrics is not False:
if 'lyrics' in track and self.embed_lyrics:
track_meta['lyrics'] = track['lyrics']
self.num_tracks = len(album['tracks'])
@ -210,15 +210,17 @@ class BandcampDownloader:
sys.stdout.write("\r({}/{}) [{}] :: Encoding: {}".format(self.track_num, self.num_tracks, "=" * 50, filename))
audio = MP3(filepath)
audio.tags = None
audio.delete()
audio["TIT2"] = TIT2(encoding=3, text=["title"])
audio.save(filename=None, v1=2)
audio = MP3(filepath)
if self.grouping and meta["label"]:
if self.grouping and 'label' in meta:
audio["TIT1"] = TIT1(encoding=3, text=meta["label"])
if self.lyrics:
if self.embed_lyrics and 'lyrics' in meta:
audio["USLT"] = USLT(encoding=3, lang='eng', desc='', text=meta['lyrics'])
if self.embed_art:
with open(self.album_art, 'rb') as cover_img:
cover_bytes = cover_img.read()

View File

@ -9,6 +9,8 @@ class BandcampJSON:
self.targets = ['TralbumData', 'EmbedData', 'pagedata']
self.json_data = []
# Lyrics can be found by appending #lyrics to the /track/ url
def generate(self) -> list:
"""Iterate through targets grabbing needed data"""
for target in self.targets: