Skip to content

Commit ce62812

Browse files
committed
fix: Add Python 3.10 support to Limiter/Lock objects.
1 parent f0e4d77 commit ce62812

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

interactions/api/http.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,9 @@ def __init__(self, token: str) -> None:
175175
f"aiohttp/{http_version}",
176176
}
177177
self._session = _session
178-
self._global_lock = Limiter(lock=Lock(loop=self._loop))
178+
self._global_lock = (
179+
Limiter(lock=Lock(loop=self._loop)) if version_info < (3, 10) else Limiter(lock=Lock())
180+
)
179181

180182
def _check_session(self) -> None:
181183
"""Ensures that we have a valid connection session."""
@@ -228,7 +230,11 @@ async def request(self, route: Route, **kwargs) -> Optional[Any]:
228230
self._loop.call_later(_limiter.reset_after, _limiter.lock.release)
229231
_limiter.reset_after = 0
230232
else:
231-
self.ratelimits.update({bucket: Limiter(lock=Lock(loop=self._loop))})
233+
self.ratelimits[bucket] = (
234+
Limiter(lock=Lock(loop=self._loop))
235+
if version_info < (3, 10)
236+
else Limiter(lock=Lock())
237+
)
232238
_limiter: Limiter = self.ratelimits.get(bucket)
233239

234240
await _limiter.lock.acquire() # _limiter is the per shared bucket/route endpoint

0 commit comments

Comments
 (0)