From 0e75f032f543577aab7d19f2ff74ac642eb21d41 Mon Sep 17 00:00:00 2001
From: Mathieu Loiseau <mathieu.loiseau@liris.cnrs.fr>
Date: Tue, 17 May 2022 17:06:09 +0200
Subject: [PATCH] rename

---
 good_ol_mixtape.py | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/good_ol_mixtape.py b/good_ol_mixtape.py
index d9d17d0..dca171f 100644
--- a/good_ol_mixtape.py
+++ b/good_ol_mixtape.py
@@ -4,10 +4,12 @@
 import m3u8
 import music_tag
 from urllib.parse import unquote
+import os
 
 class Song:
 	def __init__(self,song_path, mixAlbum = None, mixNumber = None, mixAuthor=None, mixCover=None):
-		self.track = music_tag.load_file(song_path)
+		self.path = song_path
+		self.track = music_tag.load_file(self.path)
 		self.title = self.track['title'].first
 		self.o_album = self.track['album'].first
 		self.artist = self.track['artist'].first
@@ -45,9 +47,17 @@ 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 rename_track(self):
+		self.update_tag()
+		new_path = f"{os.path.dirname(self.path)}/{self.track['tracknumber'].first}. {self.title} [{self.artist}]{os.path.splitext(os.path.basename(self.path))[1]}"
+		os.rename(self.path, new_path)
+		self.path = new_path
+		self.track = music_tag.load_file(self.path)
+
+
 	def __str__(self):
 		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})"
 
@@ -81,9 +91,14 @@ class MixTape:
 		for t in self.playlist:
 			t.set_totalnum(len(self.playlist))
 			t.update_tag()
+			t.rename_track()
 
 	def __str__(self):
 		res = ""
 		for track in self.playlist:
 			res += track.__str__()+"\n"
 		return res
+if __name__ == "__main__":
+	s = Song("sampleData/archive/02. NoName - Rainforest.flac", "test", 5, "me", "sampleData/CONNECTED.png")
+	s.set_totalnum(12)
+	s.rename_track()
-- 
GitLab