diff --git a/trakt/api.py b/trakt/api.py index cb06a75..3c09cab 100644 --- a/trakt/api.py +++ b/trakt/api.py @@ -180,6 +180,7 @@ def __init__(self, client: HttpClient, config: AuthConfig): # OAuth token validity checked self.OAUTH_TOKEN_VALID = None self.refresh_attempts = 0 + self.TOKEN_UNDER_REFRESH = False def __call__(self, r): # Skip oauth requests @@ -204,7 +205,8 @@ def get_token(self): self.config.load() # Check token validity and refresh token if needed - if not self.OAUTH_TOKEN_VALID and self.config.have_refresh_token(): + if not self.TOKEN_UNDER_REFRESH and self.config.have_refresh_token(): + self.TOKEN_UNDER_REFRESH = True self.validate_token() return [ @@ -229,6 +231,8 @@ def validate_token(self): self.logger.debug("Token expires in %s, refreshing (margin: %s)", margin, self.TOKEN_REFRESH_MARGIN) self.refresh_token() + self.TOKEN_UNDER_REFRESH = False + def refresh_token(self): """Request Trakt API for a new valid OAuth token using refresh_token"""