mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-06-13 10:03:14 +03:00
Optimize imports in _cwiring.pyx
This commit is contained in:
parent
37127bcd02
commit
fb7018cb78
|
@ -2,17 +2,15 @@
|
||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
import collections.abc
|
import collections.abc
|
||||||
import functools
|
|
||||||
import inspect
|
import inspect
|
||||||
import types
|
import types
|
||||||
|
|
||||||
from . import providers
|
from .wiring import _Marker
|
||||||
from .wiring import _Marker, PatchedCallable
|
|
||||||
|
|
||||||
from .providers cimport Provider
|
from .providers cimport Provider, Resource
|
||||||
|
|
||||||
|
|
||||||
def _sync_inject(object fn, tuple args, dict kwargs, dict injections, dict closings):
|
def _sync_inject(object fn, tuple args, dict kwargs, dict injections, dict closings, /):
|
||||||
cdef object result
|
cdef object result
|
||||||
cdef dict to_inject
|
cdef dict to_inject
|
||||||
cdef object arg_key
|
cdef object arg_key
|
||||||
|
@ -29,14 +27,14 @@ def _sync_inject(object fn, tuple args, dict kwargs, dict injections, dict closi
|
||||||
for arg_key, provider in closings.items():
|
for arg_key, provider in closings.items():
|
||||||
if arg_key in kwargs and not isinstance(kwargs[arg_key], _Marker):
|
if arg_key in kwargs and not isinstance(kwargs[arg_key], _Marker):
|
||||||
continue
|
continue
|
||||||
if not isinstance(provider, providers.Resource):
|
if not isinstance(provider, Resource):
|
||||||
continue
|
continue
|
||||||
provider.shutdown()
|
provider.shutdown()
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
async def _async_inject(object fn, tuple args, dict kwargs, dict injections, dict closings):
|
async def _async_inject(object fn, tuple args, dict kwargs, dict injections, dict closings, /):
|
||||||
cdef object result
|
cdef object result
|
||||||
cdef dict to_inject
|
cdef dict to_inject
|
||||||
cdef list to_inject_await = []
|
cdef list to_inject_await = []
|
||||||
|
@ -66,7 +64,7 @@ async def _async_inject(object fn, tuple args, dict kwargs, dict injections, dic
|
||||||
for arg_key, provider in closings.items():
|
for arg_key, provider in closings.items():
|
||||||
if arg_key in kwargs and isinstance(kwargs[arg_key], _Marker):
|
if arg_key in kwargs and isinstance(kwargs[arg_key], _Marker):
|
||||||
continue
|
continue
|
||||||
if not isinstance(provider, providers.Resource):
|
if not isinstance(provider, Resource):
|
||||||
continue
|
continue
|
||||||
shutdown = provider.shutdown()
|
shutdown = provider.shutdown()
|
||||||
if _isawaitable(shutdown):
|
if _isawaitable(shutdown):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user