mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2024-11-22 01:26:51 +03:00
Bump version to 4.32.1
This commit is contained in:
parent
fab4e3e5be
commit
0f3e170711
|
@ -7,6 +7,13 @@ 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.32.1
|
||||||
|
------
|
||||||
|
- Fix a bug with ``List`` provider not working in async mode.
|
||||||
|
See issue: `#450 <https://github.com/ets-labs/python-dependency-injector/issues/450>`_.
|
||||||
|
Thanks to `@mxab <https://github.com/mxab>`_ for reporting the issue.
|
||||||
|
- Add async mode tests for ``List`` and ``Dict`` provider.
|
||||||
|
|
||||||
4.32.0
|
4.32.0
|
||||||
------
|
------
|
||||||
- Add ``ContextLocalSingleton`` provider.
|
- Add ``ContextLocalSingleton`` provider.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
"""Top-level package."""
|
"""Top-level package."""
|
||||||
|
|
||||||
__version__ = '4.32.0'
|
__version__ = '4.32.1'
|
||||||
"""Version number.
|
"""Version number.
|
||||||
|
|
||||||
:type: str
|
:type: str
|
||||||
|
|
|
@ -62896,7 +62896,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_4List_7related_2gener
|
||||||
*
|
*
|
||||||
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
|
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
|
||||||
* """Return result of provided callable's call."""
|
* """Return result of provided callable's call."""
|
||||||
* return list(__provide_positional_args(args, self.__args, self.__args_len))
|
* return __provide_positional_args(args, self.__args, self.__args_len)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static PyObject *__pyx_pw_19dependency_injector_9providers_4List_13_provide(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
|
static PyObject *__pyx_pw_19dependency_injector_9providers_4List_13_provide(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
|
||||||
|
@ -62993,7 +62993,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4List__provide(struct
|
||||||
/* "dependency_injector/providers.pyx":3214
|
/* "dependency_injector/providers.pyx":3214
|
||||||
* cpdef object _provide(self, tuple args, dict kwargs):
|
* cpdef object _provide(self, tuple args, dict kwargs):
|
||||||
* """Return result of provided callable's call."""
|
* """Return result of provided callable's call."""
|
||||||
* return list(__provide_positional_args(args, self.__args, self.__args_len)) # <<<<<<<<<<<<<<
|
* return __provide_positional_args(args, self.__args, self.__args_len) # <<<<<<<<<<<<<<
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -63003,11 +63003,8 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4List__provide(struct
|
||||||
__pyx_t_2 = __pyx_f_19dependency_injector_9providers___provide_positional_args(__pyx_v_args, ((PyObject*)__pyx_t_1), __pyx_v_self->__pyx___args_len); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3214, __pyx_L1_error)
|
__pyx_t_2 = __pyx_f_19dependency_injector_9providers___provide_positional_args(__pyx_v_args, ((PyObject*)__pyx_t_1), __pyx_v_self->__pyx___args_len); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3214, __pyx_L1_error)
|
||||||
__Pyx_GOTREF(__pyx_t_2);
|
__Pyx_GOTREF(__pyx_t_2);
|
||||||
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
||||||
__pyx_t_1 = PySequence_List(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3214, __pyx_L1_error)
|
__pyx_r = __pyx_t_2;
|
||||||
__Pyx_GOTREF(__pyx_t_1);
|
__pyx_t_2 = 0;
|
||||||
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
|
|
||||||
__pyx_r = __pyx_t_1;
|
|
||||||
__pyx_t_1 = 0;
|
|
||||||
goto __pyx_L0;
|
goto __pyx_L0;
|
||||||
|
|
||||||
/* "dependency_injector/providers.pyx":3212
|
/* "dependency_injector/providers.pyx":3212
|
||||||
|
@ -63015,7 +63012,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_4List__provide(struct
|
||||||
*
|
*
|
||||||
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
|
* cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<<
|
||||||
* """Return result of provided callable's call."""
|
* """Return result of provided callable's call."""
|
||||||
* return list(__provide_positional_args(args, self.__args, self.__args_len))
|
* return __provide_positional_args(args, self.__args, self.__args_len)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* function exit code */
|
/* function exit code */
|
||||||
|
|
|
@ -3211,7 +3211,7 @@ cdef class List(Provider):
|
||||||
|
|
||||||
cpdef object _provide(self, tuple args, dict kwargs):
|
cpdef object _provide(self, tuple args, dict kwargs):
|
||||||
"""Return result of provided callable's call."""
|
"""Return result of provided callable's call."""
|
||||||
return list(__provide_positional_args(args, self.__args, self.__args_len))
|
return __provide_positional_args(args, self.__args, self.__args_len)
|
||||||
|
|
||||||
|
|
||||||
cdef class Dict(Provider):
|
cdef class Dict(Provider):
|
||||||
|
|
|
@ -868,6 +868,47 @@ class DependencyTests(AsyncTestCase):
|
||||||
self.assertEqual(dependency4, dependency)
|
self.assertEqual(dependency4, dependency)
|
||||||
|
|
||||||
|
|
||||||
|
class ListTests(AsyncTestCase):
|
||||||
|
|
||||||
|
def test_provide(self):
|
||||||
|
# See issue: https://github.com/ets-labs/python-dependency-injector/issues/450
|
||||||
|
async def create_resource(param: str):
|
||||||
|
return param
|
||||||
|
|
||||||
|
class Container(containers.DeclarativeContainer):
|
||||||
|
|
||||||
|
resources = providers.List(
|
||||||
|
providers.Resource(create_resource, 'foo'),
|
||||||
|
providers.Resource(create_resource, 'bar')
|
||||||
|
)
|
||||||
|
|
||||||
|
container = Container()
|
||||||
|
resources = self._run(container.resources())
|
||||||
|
|
||||||
|
self.assertEqual(resources[0], 'foo')
|
||||||
|
self.assertEqual(resources[1], 'bar')
|
||||||
|
|
||||||
|
|
||||||
|
class DictTests(AsyncTestCase):
|
||||||
|
|
||||||
|
def test_provide(self):
|
||||||
|
async def create_resource(param: str):
|
||||||
|
return param
|
||||||
|
|
||||||
|
class Container(containers.DeclarativeContainer):
|
||||||
|
|
||||||
|
resources = providers.Dict(
|
||||||
|
foo=providers.Resource(create_resource, 'foo'),
|
||||||
|
bar=providers.Resource(create_resource, 'bar')
|
||||||
|
)
|
||||||
|
|
||||||
|
container = Container()
|
||||||
|
resources = self._run(container.resources())
|
||||||
|
|
||||||
|
self.assertEqual(resources['foo'], 'foo')
|
||||||
|
self.assertEqual(resources['bar'], 'bar')
|
||||||
|
|
||||||
|
|
||||||
class OverrideTests(AsyncTestCase):
|
class OverrideTests(AsyncTestCase):
|
||||||
|
|
||||||
def test_provider(self):
|
def test_provider(self):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user