From 62a9d7dd21df6b80106e2ddc1097cdb4e7f9f2e1 Mon Sep 17 00:00:00 2001 From: GladistonXD <50533550+GladistonXD@users.noreply.github.com> Date: Sat, 24 Jan 2026 01:56:02 -0300 Subject: [PATCH] Fix --- votify/downloader_audio.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/votify/downloader_audio.py b/votify/downloader_audio.py index 0ec21fa..cb7b51a 100644 --- a/votify/downloader_audio.py +++ b/votify/downloader_audio.py @@ -60,11 +60,12 @@ class DownloaderAudio: def get_stream_info( self, gid_metadata: dict, + product_name: dict, media_type: str, ) -> StreamInfoAudio: stream_info = StreamInfoAudio() if media_type == "track": - audio_files = gid_metadata.get("file") + audio_files = gid_metadata elif media_type == "episode": audio_files = gid_metadata.get("audio") else: @@ -72,20 +73,23 @@ class DownloaderAudio: audio_files = audio_files or gid_metadata.get("alternative") if not audio_files: return stream_info - if audio_files[0].get("gid"): - audio_files = audio_files[0]["file"] - quality, audio_file = self.get_audio_file(audio_files) - if not audio_file: - return stream_info - file_id = audio_file["file_id"] + if audio_files: + audio_files = audio_files + file_id = audio_files stream_url = self.downloader.spotify_api.get_stream_urls(file_id)["cdnurl"][0] stream_info.stream_url = stream_url stream_info.file_id = file_id + product = product_name['data']['me']['account']['product'] + if 'FREE' == product: + quality = 128000 + else: + quality = 256000 stream_info.quality = quality if self.audio_quality in AAC_AUDIO_QUALITIES: seek_table = self.downloader.spotify_api.get_seek_table(file_id) pssh = seek_table["pssh"] stream_info.widevine_pssh = pssh + return stream_info def get_decryption_key(self, stream_info: StreamInfoAudio) -> str: