Drop support for Python 3.4 and make minimum version 3.5.2.

This commit is contained in:
Rapptz
2018-06-10 18:09:14 -04:00
parent 7eb918b19e
commit f25091efe1
35 changed files with 626 additions and 1069 deletions

View File

@ -135,8 +135,7 @@ class AsyncWebhookAdapter(WebhookAdapter):
self.session = session
self.loop = session.loop
@asyncio.coroutine
def request(self, verb, url, payload=None, multipart=None):
async def request(self, verb, url, payload=None, multipart=None):
headers = {}
data = None
if payload:
@ -152,9 +151,8 @@ class AsyncWebhookAdapter(WebhookAdapter):
data.add_field(key, value)
for tries in range(5):
r = yield from self.session.request(verb, url, headers=headers, data=data)
try:
data = yield from r.text(encoding='utf-8')
async with self.session.request(verb, url, headers=headers, data=data) as r:
data = await r.text(encoding='utf-8')
if r.headers['Content-Type'] == 'application/json':
data = json.loads(data)
@ -162,7 +160,7 @@ class AsyncWebhookAdapter(WebhookAdapter):
remaining = r.headers.get('X-Ratelimit-Remaining')
if remaining == '0' and r.status != 429:
delta = utils._parse_ratelimit_header(r)
yield from asyncio.sleep(delta, loop=self.loop)
await asyncio.sleep(delta, loop=self.loop)
if 300 > r.status >= 200:
return data
@ -170,11 +168,11 @@ class AsyncWebhookAdapter(WebhookAdapter):
# we are being rate limited
if r.status == 429:
retry_after = data['retry_after'] / 1000.0
yield from asyncio.sleep(retry_after, loop=self.loop)
await asyncio.sleep(retry_after, loop=self.loop)
continue
if r.status in (500, 502):
yield from asyncio.sleep(1 + tries * 2, loop=self.loop)
await asyncio.sleep(1 + tries * 2, loop=self.loop)
continue
if r.status == 403:
@ -183,12 +181,9 @@ class AsyncWebhookAdapter(WebhookAdapter):
raise NotFound(r, data)
else:
raise HTTPException(r, data)
finally:
yield from r.release()
@asyncio.coroutine
def handle_execution_response(self, response, *, wait):
data = yield from response
async def handle_execution_response(self, response, *, wait):
data = await response
if not wait:
return data