fix: add retry_after attribute to KworkRateLimitError

This commit is contained in:
root 2026-03-29 08:31:14 +00:00
parent f397769ce0
commit a02bc910f1

View File

@ -131,16 +131,26 @@ class KworkRateLimitError(KworkApiError):
Возникает при слишком частых запросах к API.
Рекомендуется сделать паузу перед повторным запросом.
Attributes:
retry_after: Время ожидания в секундах (если указано сервером).
Example:
import asyncio
try:
await client.catalog.get_list()
except KworkRateLimitError:
await asyncio.sleep(5) # Пауза 5 секунд
except KworkRateLimitError as e:
wait_time = e.retry_after or 5
await asyncio.sleep(wait_time)
"""
def __init__(self, message: str = "Rate limit exceeded", response: Optional[Any] = None):
def __init__(
self,
message: str = "Rate limit exceeded",
response: Optional[Any] = None,
retry_after: Optional[int] = None,
):
self.retry_after = retry_after
super().__init__(message, 429, response)