mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2024-11-22 17:47:02 +03:00
Improve wiring fault tolerance
This commit is contained in:
parent
fcba4cc989
commit
eacb190907
|
@ -342,11 +342,17 @@ def wire( # noqa: C901
|
||||||
_patch_fn(module, member_name, member, providers_map)
|
_patch_fn(module, member_name, member, providers_map)
|
||||||
elif inspect.isclass(member):
|
elif inspect.isclass(member):
|
||||||
cls = member
|
cls = member
|
||||||
for cls_member_name, cls_member in inspect.getmembers(cls):
|
try:
|
||||||
if _is_marker(cls_member):
|
cls_members = inspect.getmembers(cls)
|
||||||
_patch_attribute(cls, cls_member_name, cls_member, providers_map)
|
except Exception: # noqa
|
||||||
elif _is_method(cls_member):
|
# Hotfix, see: https://github.com/ets-labs/python-dependency-injector/issues/441
|
||||||
_patch_method(cls, cls_member_name, cls_member, providers_map)
|
continue
|
||||||
|
else:
|
||||||
|
for cls_member_name, cls_member in cls_members:
|
||||||
|
if _is_marker(cls_member):
|
||||||
|
_patch_attribute(cls, cls_member_name, cls_member, providers_map)
|
||||||
|
elif _is_method(cls_member):
|
||||||
|
_patch_method(cls, cls_member_name, cls_member, providers_map)
|
||||||
|
|
||||||
for patched in _patched_registry.get_callables_from_module(module):
|
for patched in _patched_registry.get_callables_from_module(module):
|
||||||
_bind_injections(patched, providers_map)
|
_bind_injections(patched, providers_map)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user