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

author, image, number of tracks

parent 405aea0c
No related branches found
No related tags found
No related merge requests found
......@@ -7,8 +7,11 @@ from good_ol_mixtape import MixTape
parser = argparse.ArgumentParser(description="Créer une mix-tape")
parser.add_argument("-p", "--playlist", help="le fichier .m3u8 de la playlist", type=str)
parser.add_argument("-t", "--mix_title", help="le titre du mix", type=str, default = None)
parser.add_argument("-a", "--mix_author", help="l'auteur du mix", type=str, default = None)
parser.add_argument("-i", "--mix_image", help="la couverture du mix", type=str, default = None)
args = parser.parse_args()
if __name__ == "__main__":
mx = MixTape(args.playlist, args.mix_title)
mx = MixTape(args.playlist, args.mix_title, args.mix_author, args.mix_image)
mx.update_tags()
print(mx)
......@@ -28,6 +28,12 @@ class Song:
def set_numInMix(self, mixNumber):
self.track['tracknumber']=mixNumber
def set_totalnum(self, totalNumber):
self.track['totaltracks']=totalNumber
def set_albumArtist(self, albumArtist):
self.track['albumartist'] = albumArtist
def replace_artwork(self, newImagePath):
tmpArt = []
for a in self.track['artwork'].values:
......@@ -39,10 +45,11 @@ class Song:
self.track.append_tag('artwork', a)
def update_tag(self):
self.track.save()
#self.track.save()
print("uncomment to update "+str(self))
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})"
return f"{self.track['tracknumber'].first}/{self.track['totaltracks'].first}. {self.track['album'].first}/{self.title}{self.artist} (track #{self.o_number} of {self.o_album})"
class MixTape:
@classmethod
......@@ -53,26 +60,30 @@ class MixTape:
else:
return unquote(res)
def __init__(self, pl_path, title = None):
def __init__(self, pl_path, title = None, author = None, img = None):
self.playlist = []
self.title = title
num = 1
self.author = author
self.cover = img
num = 0
for s in m3u8.load(pl_path).segments:
try:
if self.title == None :
self.playlist.append(Song(MixTape.uri2path(s.uri)))
else:
self.playlist.append(Song(MixTape.uri2path(s.uri), self.title, num))
num += 1
self.playlist.append(Song(MixTape.uri2path(s.uri), self.title, num, self.author, self.cover))
except ValueError as e:
print(e)
num -= 1
def update_tags(self):
for t in self.playlist:
t.set_totalnum(len(self.playlist))
t.update_tag()
def __str__(self):
res = ""
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