From 3bd66d60353efe672a1965edab5cdccd44345a53 Mon Sep 17 00:00:00 2001 From: Robert Honz Date: Sat, 9 Nov 2024 17:33:21 +0100 Subject: [PATCH] PKCE login is no longer required for HI_RES_LOSSLESS. Fixes #153 --- tidal_dl_ng/config.py | 7 +------ tidal_dl_ng/download.py | 9 +-------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/tidal_dl_ng/config.py b/tidal_dl_ng/config.py index 0762677..a1ad92d 100644 --- a/tidal_dl_ng/config.py +++ b/tidal_dl_ng/config.py @@ -113,13 +113,8 @@ class Tidal(BaseConfig, metaclass=SingletonMeta): return True - def login_token(self, do_pkce: bool = True) -> bool: + def login_token(self, do_pkce: bool = False) -> bool: result = False - - # Do not login via PKCE, if HiRes LOSSLESS is not set as global audio quality. - if self.session.audio_quality != tidalapi.media.Quality.hi_res_lossless: - do_pkce = False - self.is_pkce = do_pkce if self.token_from_storage: diff --git a/tidal_dl_ng/download.py b/tidal_dl_ng/download.py index 99abb1c..51698d7 100644 --- a/tidal_dl_ng/download.py +++ b/tidal_dl_ng/download.py @@ -15,7 +15,7 @@ from rich.progress import Progress, TaskID from tidalapi import Album, Mix, Playlist, Session, Track, UserPlaylist, Video from tidalapi.media import AudioExtensions, Codec, Quality, StreamManifest, VideoExtensions -from tidal_dl_ng.config import Settings, Tidal +from tidal_dl_ng.config import Settings from tidal_dl_ng.constants import EXTENSION_LYRICS, REQUESTS_TIMEOUT_SEC, MediaType, QualityVideo, SkipExisting from tidal_dl_ng.helper.decryption import decrypt_file, decrypt_security_token from tidal_dl_ng.helper.exceptions import MediaMissing @@ -307,13 +307,6 @@ class Download: # Save original quality settings quality_old: Quality = self.session.audio_quality self.session.audio_quality = quality - tidal: Tidal = Tidal() - - # If track is not requested as hires_lossless do not use PKCE, because BTS downloads are faster than MPD. - if quality == Quality.hi_res_lossless and not tidal.is_pkce: - tidal.login_token(do_pkce=True) - elif quality != Quality.hi_res_lossless and tidal.is_pkce: - tidal.login_token(do_pkce=False) return quality_old