Merge pull request #3957 from pgjones/fix

Bugfix iscoroutinefunction with Python3.7
This commit is contained in:
David Lord 2021-04-12 11:47:24 -07:00 committed by GitHub
commit 85dce2c836
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,8 +1,9 @@
import functools
import inspect
import os import os
import sys import sys
import weakref import weakref
from datetime import timedelta from datetime import timedelta
from inspect import iscoroutinefunction
from itertools import chain from itertools import chain
from threading import Lock from threading import Lock
@ -56,6 +57,20 @@ from .wrappers import Request
from .wrappers import Response from .wrappers import Response
if sys.version_info >= (3, 8):
iscoroutinefunction = inspect.iscoroutinefunction
else:
def iscoroutinefunction(func):
while inspect.ismethod(func):
func = func.__func__
while isinstance(func, functools.partial):
func = func.func
return inspect.iscoroutinefunction(func)
def _make_timedelta(value): def _make_timedelta(value):
if value is None or isinstance(value, timedelta): if value is None or isinstance(value, timedelta):
return value return value