-
-
Notifications
You must be signed in to change notification settings - Fork 33
Open
Description
Hi! I need to inject resources with post-cleanup. I have this example working:
from fast_depends import Depends
from fast_depends import inject
from fast_depends import Provider
provider = Provider()
def callback():
try:
yield lambda count: print(count)
finally:
print('done')
@inject(dependency_overrides_provider=provider)
def handle_for_loop(callback = Depends(callback)):
for i in range(10):
callback(i)
handle_for_loop()But when trying to make it work with dependency_overrides it fails.
from fast_depends import Depends
from fast_depends import inject
from fast_depends import Provider
provider = Provider()
def callback():...
@inject(dependency_overrides_provider=provider)
def handle_for_loop(callback = Depends(callback)):
for i in range(10):
callback(i)
def override_callback():
try:
yield lambda count: print(count)
finally:
print('done')
provider.dependency_overrides[callback] = override_callback
handle_for_loop()It gives the error:
raceback (most recent call last):
File "main.py", line 46, in <module>
handle_for_loop()
File "fast_depends/use.py", line 169, in injected_wrapper
r = real_model.solve(
^^^^^^^^^^^^^^^^^
File "fast_depends/core/model.py", line 416, in solve
response = call(*final_args, **final_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "main.py", line 35, in handle_for_loop
callback(i)
TypeError: 'generator' object is not callableMetadata
Metadata
Assignees
Labels
No labels