yaronzz / Tidal-Media-Downloader

Download 'TIDAL' Music On Windows/Linux/MacOs (PYTHON/C#)
http://doc.yaronzz.com/post/tidal_dl_installation/
Apache License 2.0
3.37k stars 469 forks source link

[BUG] - [ERR] Asset is not ready for playback #512

Open shaun-ba opened 3 years ago

shaun-ba commented 3 years ago

Which tool tidal-dl

Version v2020.10.22.1

Platform Linux

Bug description Downloading Justin Bieber - Purpose, track "where are U now"

Screenshot Screenshot from 2020-11-08 09-07-50

sporek commented 3 years ago

I just checked that release in the desktop app and that track is not available for streaming, and thus cannot be downloaded. @cacpac791 is correct, this is a content distribution decision made by the label.

shaun-ba commented 3 years ago

Would be nice to have consistent message then 👍

On Sun, 8 Nov 2020, 17:55 sporek, notifications@github.com wrote:

I just checked that release in the desktop app and that track is not available for streaming, and thus cannot be downloaded. @cacpac791 https://github.com/cacpac791 is correct, this is a content distribution decision made my the label.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/yaronzz/Tidal-Media-Downloader/issues/512#issuecomment-723644029, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZPKQ4LIFK3SYL6VVRYELDSO3LQPANCNFSM4TOGFCNA .

MarcusJohnson91 commented 3 years ago

Would be nice to have consistent message then 👍

Patches are welcome, if you run into trouble tag me and I'll help.

(tbh, I just looked through the code and can't find that error string, if you find where that message is being generated I'll fix it)

japrine commented 3 years ago

I was getting this and didn't realize it was just unavailable for streaming.

The text is from Tidal (userMessage) it looks like:

def __downloadTrack__(conf: Settings, track, album=None, playlist=None): Line 305, download.py msg, stream = API.getStreamUrl(track.id, conf.audioQuality) if not aigpy.string.isNull(msg) or stream is None: Printf.err(track.title + "." + msg)

def getStreamUrl(self, id, quality: AudioQuality): Line 299, tidal.py msg, data = self.__get__('tracks/' + str(id) + "/playbackinfopostpaywall", paras) if msg is not None: return msg, None

def __get__(self, path, params={}, retry=3, urlpre=__URL_PRE__): Line 76, tidal.py respond = requests.get(urlpre + path, headers=header, params=params) result = self.__toJson__(respond.text) return result['userMessage'], None

Would need to add a pattern match function to check the msg and translate? Maybe just a warning/help message somewhere. I wasn't sure what it was telling me.

Thanks for writing your python pep8!