From e505a2a163d8596ef7934565a05859b2375b5302 Mon Sep 17 00:00:00 2001 From: Florian Bezannier Date: Sat, 18 Apr 2026 09:12:15 +0200 Subject: [PATCH] chore: better error message --- psa_car_controller/common/utils.py | 5 +++-- psa_car_controller/psa/RemoteClient.py | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/psa_car_controller/common/utils.py b/psa_car_controller/common/utils.py index dce606e..c6e5a2c 100644 --- a/psa_car_controller/common/utils.py +++ b/psa_car_controller/common/utils.py @@ -21,7 +21,7 @@ def rate_limit(limit, every): timer.daemon = True timer.start() else: - raise RateLimitException + raise RateLimitException(func.__name__) return wrapper @@ -47,7 +47,8 @@ def parse_hour(s): class RateLimitException(Exception): - pass + def __init__(self, func_name): + super().__init__(f"Rate limit exceeded for {func_name}") def get_positions(locations): diff --git a/psa_car_controller/psa/RemoteClient.py b/psa_car_controller/psa/RemoteClient.py index 11220d2..0e88e90 100644 --- a/psa_car_controller/psa/RemoteClient.py +++ b/psa_car_controller/psa/RemoteClient.py @@ -192,7 +192,10 @@ class RemoteClient: self.remote_token_last_update = datetime.now() self.mqtt_client.username_pw_set("IMA_OAUTH_ACCESS_TOKEN", self.remoteCredentials.access_token) return True - except (RequestException, RateLimitException, KeyError, AttributeError, RemoteException): + except RateLimitException as e: + logger.error("Can't refresh remote token please wait... %s", e) + return False + except (RequestException, KeyError, AttributeError, RemoteException): logger.exception("Can't refresh remote token, please redo otp procedure") return False