From 3ec8a2312c0da49a93b619013d8347a1c10d6c8f Mon Sep 17 00:00:00 2001 From: Niko Date: Wed, 26 Mar 2025 07:41:07 +0100 Subject: [PATCH] Improve logging (#1191) * improve retry warning * changelog * fix lint issue --- CHANGELOG.md | 1 + spotipy/util.py | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c751afc..e7df630 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ Add your changes below. - Updated documentation for `Client.current_user_top_artists` to indicate maximum number of artists limit - Set auth cache file permissions to `600`: https://github.com/spotipy-dev/spotipy/security/advisories/GHSA-pwhh-q4h6-w599 - Fixed `__del__` methods by preventing garbage collection for `requests.Session` +- Improved retry warning by using `logger` instead of `logging` and making sure that `retry_header` is an int ### Changed diff --git a/spotipy/util.py b/spotipy/util.py index 145f08e..7fd9d59 100644 --- a/spotipy/util.py +++ b/spotipy/util.py @@ -14,7 +14,7 @@ import urllib3 import spotipy -LOGGER = logging.getLogger(__name__) +logger = logging.getLogger(__name__) CLIENT_CREDS_ENV_VARS = { "client_id": "SPOTIPY_CLIENT_ID", @@ -68,7 +68,7 @@ def prompt_for_user_token( redirect_uri = os.getenv("SPOTIPY_REDIRECT_URI") if not client_id: - LOGGER.warning( + logger.warning( """ You need to set your Spotify API credentials. You can do this by setting environment variables like so: @@ -170,8 +170,9 @@ class Retry(urllib3.Retry): if response: retry_header = response.headers.get("Retry-After") if self.is_retry(method, response.status, bool(retry_header)): - logging.warning("Your application has reached a rate/request limit. " - f"Retry will occur after: {retry_header}") + retry_header = retry_header or 0 + logger.warning("Your application has reached a rate/request limit. " + f"Retry will occur after: {retry_header} s") return super().increment(method, url, response=response,