Merge pull request #3957 from pgjones/fix
Bugfix iscoroutinefunction with Python3.7
This commit is contained in:
commit
85dce2c836
1 changed files with 16 additions and 1 deletions
|
|
@ -1,8 +1,9 @@
|
|||
import functools
|
||||
import inspect
|
||||
import os
|
||||
import sys
|
||||
import weakref
|
||||
from datetime import timedelta
|
||||
from inspect import iscoroutinefunction
|
||||
from itertools import chain
|
||||
from threading import Lock
|
||||
|
||||
|
|
@ -56,6 +57,20 @@ from .wrappers import Request
|
|||
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):
|
||||
if value is None or isinstance(value, timedelta):
|
||||
return value
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue