From 017230176979db80e8bfa194c53929a977da4f00 Mon Sep 17 00:00:00 2001 From: Yaronzz Date: Mon, 27 Jun 2022 11:16:00 +0800 Subject: [PATCH] check api key --- TIDALDL-PY/tidal_dl/__init__.py | 5 ++++- TIDALDL-PY/tidal_dl/apiKey.py | 20 ++++++++++++-------- TIDALDL-PY/tidal_dl/tidal.py | 2 ++ 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/TIDALDL-PY/tidal_dl/__init__.py b/TIDALDL-PY/tidal_dl/__init__.py index 539359c..5e7eb34 100644 --- a/TIDALDL-PY/tidal_dl/__init__.py +++ b/TIDALDL-PY/tidal_dl/__init__.py @@ -78,7 +78,10 @@ def main(): Printf.logo() Printf.settings() - if not loginByConfig(): + if not apiKey.isItemValid(SETTINGS.apiKeyIndex): + changeApiKey() + loginByWeb() + elif not loginByConfig(): loginByWeb() Printf.checkVersion() diff --git a/TIDALDL-PY/tidal_dl/apiKey.py b/TIDALDL-PY/tidal_dl/apiKey.py index b567d0d..9d6ca53 100644 --- a/TIDALDL-PY/tidal_dl/apiKey.py +++ b/TIDALDL-PY/tidal_dl/apiKey.py @@ -60,12 +60,12 @@ __KEYS_JSON__ = ''' ''' __API_KEYS__ = json.loads(__KEYS_JSON__) __ERROR_KEY__ = { - 'platform': 'None', - 'formats': '', - 'clientId': '', - 'clientSecret': '', + 'platform': 'None', + 'formats': '', + 'clientId': '', + 'clientSecret': '', 'valid': 'False', - }, +}, def getNum(): @@ -78,6 +78,11 @@ def getItem(index: int): return __API_KEYS__['keys'][index] +def isItemValid(index: int): + item = getItem(index) + return item['valid'] == 'True' + + def getItems(): return __API_KEYS__['keys'] @@ -92,7 +97,8 @@ def getLimitIndexs(): def getVersion(): return __API_KEYS__['version'] -#Load from gist + +# Load from gist try: respond = requests.get('https://api.github.com/gists/48d01f5a24b4b7b37f19443977c22cd6') if respond.status_code == 200: @@ -100,5 +106,3 @@ try: __API_KEYS__ = json.loads(content) except: pass - - diff --git a/TIDALDL-PY/tidal_dl/tidal.py b/TIDALDL-PY/tidal_dl/tidal.py index a61b34f..e5edcab 100644 --- a/TIDALDL-PY/tidal_dl/tidal.py +++ b/TIDALDL-PY/tidal_dl/tidal.py @@ -290,6 +290,8 @@ class TidalAPI(object): ret.encryptionKey = manifest['keyId'] if 'keyId' in manifest else "" ret.url = manifest['urls'][0] return ret + # else: + # manifest = json.loads(base64.b64decode(resp.manifest).decode('utf-8')) raise Exception("Can't get the streamUrl, type is " + resp.manifestMimeType) def getVideoStreamUrl(self, id, quality: VideoQuality):