add track search by isrc

This commit is contained in:
uh wot
2023-11-20 20:50:46 +01:00
parent d02b47ed0c
commit 1e5f3bc2b3
2 changed files with 10 additions and 2 deletions

View File

@@ -213,10 +213,13 @@ class ModuleInterface:
return 'https://resources.tidal.com/videos/{0}/{1}x{1}.mp4'.format(cover_id.replace('-', '/'), size)
def search(self, query_type: DownloadTypeEnum, query: str, track_info: TrackInfo = None, limit: int = 20):
results = self.session.get_search_data(query, limit=limit)
if track_info and track_info.tags.isrc:
results = self.session.get_tracks_by_isrc(track_info.tags.isrc)
else:
results = self.session.get_search_data(query, limit=limit)[query_type.name + 's']
items = []
for i in results[query_type.name + 's'].get('items'):
for i in results.get('items'):
duration, name = None, None
if query_type is DownloadTypeEnum.artist:
name = i.get('name')

View File

@@ -174,6 +174,11 @@ class TidalApi(object):
def get_video(self, video_id):
return self._get('videos/' + str(video_id))
def get_tracks_by_isrc(self, isrc):
return self._get('tracks', params={
'isrc': isrc
})
def get_favorite_tracks(self, user_id):
return self._get('users/' + str(user_id) + '/favorites/tracks')