diff --git a/spotipy/cache_handler.py b/spotipy/cache_handler.py index 7ae94a2..9f2c981 100644 --- a/spotipy/cache_handler.py +++ b/spotipy/cache_handler.py @@ -51,6 +51,7 @@ class CacheFileHandler(CacheHandler): def __init__(self, cache_path=None, + unique_hash=None, username=None, encoder_cls=None): """ @@ -67,6 +68,8 @@ class CacheFileHandler(CacheHandler): self.cache_path = cache_path else: cache_path = ".cache" + if unique_hash: + cache_path += "-" + str(unique_hash) username = (username or os.getenv(CLIENT_CREDS_ENV_VARS["client_username"])) if username: cache_path += "-" + str(username) diff --git a/spotipy/oauth2.py b/spotipy/oauth2.py index 4c0cd90..3c4e6f1 100644 --- a/spotipy/oauth2.py +++ b/spotipy/oauth2.py @@ -13,6 +13,7 @@ import os import time import warnings import webbrowser +import hashlib import requests import urllib.parse as urllibparse @@ -349,8 +350,9 @@ class SpotifyOAuth(SpotifyAuthBase): else: username = (username or os.getenv(CLIENT_CREDS_ENV_VARS["client_username"])) self.cache_handler = CacheFileHandler( + unique_hash=hashlib.sha256(client_secret.encode('utf-8')).hexdigest()[:7], username=username, - cache_path=cache_path + cache_path=cache_path, ) self.proxies = proxies self.requests_timeout = requests_timeout