Skip to content
Snippets Groups Projects
Commit 405aea0c authored by Mathieu Loiseau's avatar Mathieu Loiseau
Browse files

update cover

parent d2682c31
No related branches found
No related tags found
No related merge requests found
......@@ -6,7 +6,7 @@ import music_tag
from urllib.parse import unquote
class Song:
def __init__(self,song_path, mixAlbum = None, mixNumber = None):
def __init__(self,song_path, mixAlbum = None, mixNumber = None, mixAuthor=None, mixCover=None):
self.track = music_tag.load_file(song_path)
self.title = self.track['title'].first
self.o_album = self.track['album'].first
......@@ -17,6 +17,10 @@ class Song:
self.set_mixTitle(mixAlbum)
if mixNumber != None:
self.set_numInMix(mixNumber)
if mixAuthor != None:
self.set_albumArtist(mixAuthor)
if mixCover != None:
self.replace_artwork(mixCover)
def set_mixTitle(self, mixAlbum):
self.track['album']=mixAlbum
......@@ -24,6 +28,19 @@ class Song:
def set_numInMix(self, mixNumber):
self.track['tracknumber']=mixNumber
def replace_artwork(self, newImagePath):
tmpArt = []
for a in self.track['artwork'].values:
tmpArt.append(a)#.data)
self.track.remove_tag('artwork')
with open(newImagePath, 'rb') as img_in:
self.track.append_tag('artwork', img_in.read())
for a in tmpArt:
self.track.append_tag('artwork', a)
def update_tag(self):
self.track.save()
def __str__(self):
return f"{self.track['tracknumber'].first}. {self.track['album'].first}/{self.title}{self.artist} (track #{self.o_number} of {self.o_album})"
......@@ -55,3 +72,7 @@ class MixTape:
for track in self.playlist:
res += track.__str__()+"\n"
return res
if __name__ == "__main__":
track = Song("sampleData/archive/02. NoName - Rainforest.flac", "test", 5, mixCover = "sampleData/CONNECTED.png")
print(track)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment