@@ -364,13 +364,12 @@ async def __call__(self, *args: t.Any, **kwargs: t.Any) -> t.Any:
364
364
if self ._dependency_func is None :
365
365
self ._dependency_func = self ._codegen_dependency_func ()
366
366
367
- current_container = DI_CONTAINER .get (None )
368
- new_kwargs = await self ._dependency_func (current_container , 1 if self ._self is not None else 0 , args , kwargs )
367
+ new_kwargs = await self ._dependency_func (DI_CONTAINER .get (None ), 1 if self ._self else 0 , args , kwargs )
369
368
if len (new_kwargs ) > len (kwargs ):
370
369
func_name = ((self ._self .__class__ .__name__ + "." ) if self ._self else "" ) + self ._func .__name__
371
370
LOGGER .debug ("calling function %r with resolved dependencies" , func_name )
372
371
373
- if self ._self is not None :
372
+ if self ._self :
374
373
return await utils .maybe_await (self ._func (self ._self , * args , ** new_kwargs ))
375
374
return await utils .maybe_await (self ._func (* args , ** new_kwargs ))
376
375
@@ -384,7 +383,7 @@ def _codegen_dependency_func(
384
383
def gen_random_name () -> str :
385
384
while True :
386
385
if (generated_name := "" .join (random .choices (string .ascii_lowercase , k = 5 ))) in exec_globals :
387
- continue
386
+ continue # pragma: no cover
388
387
389
388
return generated_name
390
389
# this can never happen but pycharm is being stupid
@@ -396,6 +395,7 @@ def gen_random_name() -> str:
396
395
name , type_expr = tup
397
396
if type_expr is CANNOT_INJECT :
398
397
continue
398
+
399
399
exec_globals [n := gen_random_name ()] = type_expr
400
400
fn_lines .append (
401
401
f"if '{ name } ' not in new_kwargs and arglen < ({ i + 1 } - offset): new_kwargs['{ name } '] = await { n } .resolve(container)" # noqa: E501
@@ -404,6 +404,7 @@ def gen_random_name() -> str:
404
404
for name , type_expr in kw_only .items ():
405
405
if type_expr is CANNOT_INJECT :
406
406
continue
407
+
407
408
exec_globals [n := gen_random_name ()] = type_expr
408
409
fn_lines .append (f"if '{ name } ' not in new_kwargs: new_kwargs['{ name } '] = await { n } .resolve(container)" )
409
410
0 commit comments