Skip to content

[Bug] get_tracks_by_isrc acting strangly #327

@yodaluca23

Description

@yodaluca23

Running even something as basic as this:

def convertToTidal(isrc):
    tracks = session.get_tracks_by_isrc(isrc)
    if len(tracks) > 0:
        return tracks[0].id
    else:
        return None
    
print(convertToTidal("USUM70972068"))

Almost always returns a bunch of errors.

Track '34354645' is unavailable
Traceback (most recent call last):
  File "C:\Users\*****\*****\venv\Lib\site-packages\tidalapi\request.py", line 151, in request
    request.raise_for_status()
    ~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "C:\Users\*****\*****\venv\Lib\site-packages\requests\models.py", line 1024, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://api.tidal.com/v1/tracks/34354645?sessionId=REDACTED&countryCode=US&limit=1000

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\*****\*****\venv\Lib\site-packages\tidalapi\media.py", line 331, in _get
    request = self.requests.request("GET", "tracks/%s" % media_id)
  File "C:\Users\*****\*****\venv\Lib\site-packages\tidalapi\request.py", line 166, in request
    raise ObjectNotFound
tidalapi.exceptions.ObjectNotFound

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\Users\*****\*****\import tidalapi.py", line 50, in <module>
    print(convertToTidal("USUM70972068"))
          ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "c:\Users\*****\*****\import tidalapi.py", line 44, in convertToTidal
    tracks = session.get_tracks_by_isrc(isrc)
  File "C:\Users\*****\*****\venv\Lib\site-packages\tidalapi\session.py", line 958, in get_tracks_by_isrc
    return [self.track(tr["id"]) for tr in res["data"]]
            ~~~~~~~~~~^^^^^^^^^^
  File "C:\Users\*****\*****\venv\Lib\site-packages\tidalapi\session.py", line 928, in track
    item = media.Track(session=self, media_id=track_id)
  File "C:\Users\*****\*****\venv\Lib\site-packages\tidalapi\media.py", line 212, in __init__
    self._get(self.id)
    ~~~~~~~~~^^^^^^^^^
  File "C:\Users\*****\*****\venv\Lib\site-packages\tidalapi\media.py", line 333, in _get
    raise ObjectNotFound("Track not found or unavailable")
tidalapi.exceptions.ObjectNotFound: Track not found or unavailable

I don't think it always did this, or I'm just stupid, which is a possibility, in which case I apologize. But it's quite strange if, you put the track ID into the Tidal listen URL (https://listen.tidal.com/track/34354645) it returns a not found page. But in the browse URL it returns like a mix or something? (https://tidal.com/browse/track/34354645) Clicking play brings to the same not found page...

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions