Skip to content

Commit eacb190

Browse files
committed
Improve wiring fault tolerance
1 parent fcba4cc commit eacb190

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/dependency_injector/wiring.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -342,11 +342,17 @@ def wire( # noqa: C901
342342
_patch_fn(module, member_name, member, providers_map)
343343
elif inspect.isclass(member):
344344
cls = member
345-
for cls_member_name, cls_member in inspect.getmembers(cls):
346-
if _is_marker(cls_member):
347-
_patch_attribute(cls, cls_member_name, cls_member, providers_map)
348-
elif _is_method(cls_member):
349-
_patch_method(cls, cls_member_name, cls_member, providers_map)
345+
try:
346+
cls_members = inspect.getmembers(cls)
347+
except Exception: # noqa
348+
# Hotfix, see: https://github.com/ets-labs/python-dependency-injector/issues/441
349+
continue
350+
else:
351+
for cls_member_name, cls_member in cls_members:
352+
if _is_marker(cls_member):
353+
_patch_attribute(cls, cls_member_name, cls_member, providers_map)
354+
elif _is_method(cls_member):
355+
_patch_method(cls, cls_member_name, cls_member, providers_map)
350356

351357
for patched in _patched_registry.get_callables_from_module(module):
352358
_bind_injections(patched, providers_map)

0 commit comments

Comments
 (0)