Merge branch 'release/4.9.1' into master

This commit is contained in:
Roman Mogylatov 2021-01-15 16:22:28 -05:00
commit 3b69ed91c6
4 changed files with 3242 additions and 3240 deletions

View File

@ -7,6 +7,12 @@ that were made in every particular version.
From version 0.7.6 *Dependency Injector* framework strictly From version 0.7.6 *Dependency Injector* framework strictly
follows `Semantic versioning`_ follows `Semantic versioning`_
4.9.1
-----
- Fix a bug in the ``Configuration`` provider to correctly handle undefined values.
See issue `#358 <https://github.com/ets-labs/python-dependency-injector/issues/358>`_.
Many thanks to `Stefano Frazzetto <https://github.com/StefanoFrazzetto>`_ for reporting the issue.
4.9.0 4.9.0
----- -----
- Add ``.dependencies`` attribute to the ``DeclarativeContainer`` and ``DynamicContainer``. - Add ``.dependencies`` attribute to the ``DeclarativeContainer`` and ``DynamicContainer``.

View File

@ -1,6 +1,6 @@
"""Top-level package.""" """Top-level package."""
__version__ = '4.9.0' __version__ = '4.9.1'
"""Version number. """Version number.
:type: str :type: str

File diff suppressed because it is too large Load Diff

View File

@ -1462,6 +1462,9 @@ cdef class Configuration(Object):
keys = selector.split('.') keys = selector.split('.')
value = self.__call__() value = self.__call__()
if value is None:
return None
while len(keys) > 0: while len(keys) > 0:
key = keys.pop(0) key = keys.pop(0)
value = value.get(key) value = value.get(key)
@ -1507,8 +1510,6 @@ cdef class Configuration(Object):
:return: Overriding context. :return: Overriding context.
:rtype: :py:class:`OverridingContext` :rtype: :py:class:`OverridingContext`
""" """
if provider is None:
provider = {}
context = super().override(provider) context = super().override(provider)
self.reset_cache() self.reset_cache()
return context return context