def request_url_json(self, url, params, limit=True):
# simple token bucket limiting
current_time = time.time()
delta_time = current_time - self.last_time
self.last_time = current_time
self.bucket += delta_time * (self.limit_messages / self.limit_time)
if self.bucket > self.limit_messages:
self.bucket = self.limit_messages
if self.bucket < 1:
raise RiotApiRateExceededException("Riot Api rate request exceeded. Please wait until making the next request")
self.bucket -= 1
with aiohttp.Timeout(self.timeout):
response = yield from self.session.get(url, params=params)
if response.status != 200:
raise RiotApiHttpException(response.status)
return (yield from response.json())
评论列表
文章目录