Skip to content

Commit 64574df

Browse files
committed
Merge branch 'release/4.32.2' into master
2 parents fcba4cc + 39fb88a commit 64574df

File tree

3 files changed

+18
-6
lines changed

3 files changed

+18
-6
lines changed

docs/main/changelog.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ that were made in every particular version.
77
From version 0.7.6 *Dependency Injector* framework strictly
88
follows `Semantic versioning`_
99

10+
4.32.2
11+
------
12+
- Improve wiring fault tolerance.
13+
See issue `#441 <https://github.com/ets-labs/python-dependency-injector/issues/441>`_.
14+
Thanks to `@ssheng <https://github.com/ssheng>`_ for reporting the issue.
15+
1016
4.32.1
1117
------
1218
- Fix a bug with ``List`` provider not working in async mode.

src/dependency_injector/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"""Top-level package."""
22

3-
__version__ = '4.32.1'
3+
__version__ = '4.32.2'
44
"""Version number.
55
66
:type: str

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)