Implemented new url system

This commit is contained in:
RemixDev
2021-07-25 11:33:59 +02:00
parent 7838d4eefe
commit 90b3be50e9
2 changed files with 31 additions and 4 deletions

View File

@ -23,6 +23,7 @@ class Track:
self.title = name
self.MD5 = ""
self.mediaVersion = ""
self.trackToken = ""
self.duration = 0
self.fallbackID = "0"
self.filesizes = {}
@ -50,16 +51,18 @@ class Track:
self.artistsString = ""
self.mainArtistsString = ""
self.featArtistsString = ""
self.urls = {}
def parseEssentialData(self, trackAPI_gw, trackAPI=None):
self.id = str(trackAPI_gw['SNG_ID'])
self.duration = trackAPI_gw['DURATION']
self.trackToken = trackAPI_gw['TRACK_TOKEN']
self.MD5 = trackAPI_gw.get('MD5_ORIGIN')
if not self.MD5:
if trackAPI and trackAPI.get('md5_origin'):
self.MD5 = trackAPI['md5_origin']
else:
raise MD5NotFound
#else:
# raise MD5NotFound
self.mediaVersion = trackAPI_gw['MEDIA_VERSION']
self.fallbackID = "0"
if 'FALLBACK' in trackAPI_gw:
@ -104,6 +107,7 @@ class Track:
except APIError: trackAPI = None
self.parseEssentialData(trackAPI_gw, trackAPI)
self.retriveTrackURLs(dz)
if self.local:
self.parseLocalTrackData(trackAPI_gw)
@ -241,6 +245,12 @@ class Track:
self.artist[artist['role']] = []
self.artist[artist['role']].append(artist['name'])
def retriveTrackURLs(self, dz):
urls = dz.get_tracks_urls(self.trackToken)
self.urls = {}
for url in urls[0]['media']:
self.urls[url['format']] = url['sources'][0]['url']
def removeDuplicateArtists(self):
(self.artist, self.artists) = removeDuplicateArtists(self.artist, self.artists)