diff --git a/src/dependency_injector/containers.c b/src/dependency_injector/containers.c index d2de4ed0..3e691427 100644 --- a/src/dependency_injector/containers.c +++ b/src/dependency_injector/containers.c @@ -1430,12 +1430,12 @@ struct __pyx_obj_19dependency_injector_9providers_ItemGetter { * * * cdef class MethodCaller(Provider): # <<<<<<<<<<<<<< - * cdef Provider __provider + * cdef object __provides * cdef tuple __args */ struct __pyx_obj_19dependency_injector_9providers_MethodCaller { struct __pyx_obj_19dependency_injector_9providers_Provider __pyx_base; - struct __pyx_obj_19dependency_injector_9providers_Provider *__pyx___provider; + PyObject *__pyx___provides; PyObject *__pyx___args; int __pyx___args_len; PyObject *__pyx___kwargs; @@ -2186,7 +2186,7 @@ static struct __pyx_vtabstruct_19dependency_injector_9providers_ItemGetter *__py * * * cdef class MethodCaller(Provider): # <<<<<<<<<<<<<< - * cdef Provider __provider + * cdef object __provides * cdef tuple __args */ diff --git a/src/dependency_injector/providers.c b/src/dependency_injector/providers.c index 6b188bf3..57cf1dc6 100644 --- a/src/dependency_injector/providers.c +++ b/src/dependency_injector/providers.c @@ -1451,12 +1451,12 @@ struct __pyx_obj_19dependency_injector_9providers_ItemGetter { * * * cdef class MethodCaller(Provider): # <<<<<<<<<<<<<< - * cdef Provider __provider + * cdef object __provides * cdef tuple __args */ struct __pyx_obj_19dependency_injector_9providers_MethodCaller { struct __pyx_obj_19dependency_injector_9providers_Provider __pyx_base; - struct __pyx_obj_19dependency_injector_9providers_Provider *__pyx___provider; + PyObject *__pyx___provides; PyObject *__pyx___args; int __pyx___args_len; PyObject *__pyx___kwargs; @@ -1863,12 +1863,12 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_22___get__ }; -/* "dependency_injector/providers.pyx":4174 +/* "dependency_injector/providers.pyx":4199 * * @property * def related(self): # <<<<<<<<<<<<<< * """Return related providers generator.""" - * yield self.__provider + * if is_provider(self.provides): */ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_23___get__ { PyObject_HEAD @@ -1876,7 +1876,7 @@ struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_23___get__ }; -/* "dependency_injector/providers.pyx":4504 +/* "dependency_injector/providers.pyx":4530 * * * def traverse(*providers, types=None): # <<<<<<<<<<<<<< @@ -4110,7 +4110,6 @@ static const char __pyx_k_Incompatible_checksums_s_vs_0x99[] = "Incompatible che static const char __pyx_k_Incompatible_checksums_s_vs_0xa2[] = "Incompatible checksums (%s vs 0xa264cf2 = (__async_mode, __factories, __last_overriding, __overridden))"; static const char __pyx_k_Incompatible_checksums_s_vs_0xac[] = "Incompatible checksums (%s vs 0xac42855 = (__alt_names, __async_mode, __container, __last_overriding, __overridden))"; static const char __pyx_k_Incompatible_checksums_s_vs_0xce[] = "Incompatible checksums (%s vs 0xce4d239 = (__async_mode, __instantiator, __last_overriding, __overridden, __storage))"; -static const char __pyx_k_Incompatible_checksums_s_vs_0xe5[] = "Incompatible checksums (%s vs 0xe57552f = (__args, __args_len, __async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __provider))"; static const char __pyx_k_Incompatible_checksums_s_vs_0xf2[] = "Incompatible checksums (%s vs 0xf2cdbd7 = (__async_mode, __container, __container_cls, __last_overriding, __overridden, __overriding_providers, __parent))"; static const char __pyx_k_Incompatible_checksums_s_vs_0xfe[] = "Incompatible checksums (%s vs 0xfeb8198 = (__async_mode, __last_overriding, __overridden))"; static const char __pyx_k_Incompatible_checksums_s_vs_0xff[] = "Incompatible checksums (%s vs 0xff73c9f = (__async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden))"; @@ -4232,7 +4231,6 @@ static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x99; static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xa2; static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xac; static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xce; -static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xe5; static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xf2; static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xfe; static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xff; @@ -5070,20 +5068,23 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_16_provi static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_18_async_provide(struct __pyx_obj_19dependency_injector_9providers_ItemGetter *__pyx_v_self, PyObject *__pyx_v_future_result, PyObject *__pyx_v_future); /* proto */ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_20__reduce_cython__(struct __pyx_obj_19dependency_injector_9providers_ItemGetter *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_22__setstate_cython__(struct __pyx_obj_19dependency_injector_9providers_ItemGetter *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ -static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_provider, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ +static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_provides, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_2__repr__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4__deepcopy__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_memo); /* proto */ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6__getattr__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_item); /* proto */ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_8__getitem__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_item); /* proto */ -static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_8provides___get__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4args___get__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6kwargs___get__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_10call(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_8provides___get__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_12set_provides(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_provides); /* proto */ +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4args___get__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_14set_args(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_args); /* proto */ +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6kwargs___get__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16set_kwargs(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_kwargs); /* proto */ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_7related___get__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_12_provide(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ -static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_14_async_provide(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_future_result, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs, PyObject *__pyx_v_future); /* proto */ -static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16__reduce_cython__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_18__setstate_cython__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_18_provide(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_20_async_provide(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_future_result, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs, PyObject *__pyx_v_future); /* proto */ +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_22__reduce_cython__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_24__setstate_cython__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ static PyObject *__pyx_pf_19dependency_injector_9providers_9Injection___reduce_cython__(struct __pyx_obj_19dependency_injector_9providers_Injection *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_19dependency_injector_9providers_9Injection_2__setstate_cython__(struct __pyx_obj_19dependency_injector_9providers_Injection *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___init__(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ @@ -5290,7 +5291,6 @@ static PyObject *__pyx_int_160436077; static PyObject *__pyx_int_170282226; static PyObject *__pyx_int_180627541; static PyObject *__pyx_int_216322617; -static PyObject *__pyx_int_240604463; static PyObject *__pyx_int_254598103; static PyObject *__pyx_int_267092376; static PyObject *__pyx_int_267861151; @@ -76574,7 +76574,7 @@ static int __pyx_pf_19dependency_injector_9providers_15AttributeGetter___init__( * super().__init__() * * def __repr__(self): # <<<<<<<<<<<<<< - * return f'{self.__class__.__name__}(\'{self.__name}\')' + * return f'{self.__class__.__name__}(\'{self.name}\')' * */ @@ -76607,7 +76607,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_2__ /* "dependency_injector/providers.pyx":3951 * * def __repr__(self): - * return f'{self.__class__.__name__}(\'{self.__name}\')' # <<<<<<<<<<<<<< + * return f'{self.__class__.__name__}(\'{self.name}\')' # <<<<<<<<<<<<<< * * def __deepcopy__(self, memo): */ @@ -76633,29 +76633,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_2__ __pyx_t_2 += 2; __Pyx_GIVEREF(__pyx_kp_u__29); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u__29); - __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_self->__pyx___name, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3951, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_3; - __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_4); - __pyx_t_4 = 0; + __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3951, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_3; + __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_5); + __pyx_t_5 = 0; __Pyx_INCREF(__pyx_kp_u__30); __pyx_t_2 += 2; __Pyx_GIVEREF(__pyx_kp_u__30); PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_kp_u__30); - __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_1, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3951, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_1, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3951, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; goto __pyx_L0; /* "dependency_injector/providers.pyx":3950 * super().__init__() * * def __repr__(self): # <<<<<<<<<<<<<< - * return f'{self.__class__.__name__}(\'{self.__name}\')' + * return f'{self.__class__.__name__}(\'{self.name}\')' * */ @@ -76673,7 +76676,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_2__ } /* "dependency_injector/providers.pyx":3953 - * return f'{self.__class__.__name__}(\'{self.__name}\')' + * return f'{self.__class__.__name__}(\'{self.name}\')' * * def __deepcopy__(self, memo): # <<<<<<<<<<<<<< * copied = memo.get(id(self)) @@ -76858,7 +76861,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_15AttributeGetter_4__ goto __pyx_L0; /* "dependency_injector/providers.pyx":3953 - * return f'{self.__class__.__name__}(\'{self.__name}\')' + * return f'{self.__class__.__name__}(\'{self.name}\')' * * def __deepcopy__(self, memo): # <<<<<<<<<<<<<< * copied = memo.get(id(self)) @@ -80729,15 +80732,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10ItemGetter_22__sets /* "dependency_injector/providers.pyx":4102 * """ * - * def __init__(self, provider, *args, **kwargs): # <<<<<<<<<<<<<< - * self.__provider = provider - * + * def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<< + * self.__provides = None + * self.set_provides(provides) */ /* Python wrapper */ static int __pyx_pw_19dependency_injector_9providers_12MethodCaller_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_19dependency_injector_9providers_12MethodCaller_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_provider = 0; + PyObject *__pyx_v_provides = 0; PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_lineno = 0; @@ -80760,8 +80763,9 @@ static int __pyx_pw_19dependency_injector_9providers_12MethodCaller_1__init__(Py __pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple); } { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_provider,0}; + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_provides,0}; PyObject* values[1] = {0}; + values[0] = ((PyObject *)Py_None); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); @@ -80774,23 +80778,26 @@ static int __pyx_pw_19dependency_injector_9providers_12MethodCaller_1__init__(Py kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_provider)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_provides); + if (value) { values[0] = value; kw_args--; } + } } if (unlikely(kw_args > 0)) { const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1; if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(1, 4102, __pyx_L3_error) } - } else if (PyTuple_GET_SIZE(__pyx_args) < 1) { - goto __pyx_L5_argtuple_error; } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + switch (PyTuple_GET_SIZE(__pyx_args)) { + default: + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + } } - __pyx_v_provider = values[0]; + __pyx_v_provides = values[0]; } goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4102, __pyx_L3_error) __pyx_L3_error:; __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0; __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; @@ -80798,7 +80805,7 @@ static int __pyx_pw_19dependency_injector_9providers_12MethodCaller_1__init__(Py __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self), __pyx_v_provider, __pyx_v_args, __pyx_v_kwargs); + __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self), __pyx_v_provides, __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); @@ -80807,13 +80814,12 @@ static int __pyx_pw_19dependency_injector_9providers_12MethodCaller_1__init__(Py return __pyx_r; } -static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_provider, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { +static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_provides, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; - Py_ssize_t __pyx_t_2; + PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; @@ -80821,28 +80827,51 @@ static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(str /* "dependency_injector/providers.pyx":4103 * - * def __init__(self, provider, *args, **kwargs): - * self.__provider = provider # <<<<<<<<<<<<<< + * def __init__(self, provides=None, *args, **kwargs): + * self.__provides = None # <<<<<<<<<<<<<< + * self.set_provides(provides) * - * self.__args = parse_positional_injections(args) */ - if (!(likely(((__pyx_v_provider) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_provider, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 4103, __pyx_L1_error) - __pyx_t_1 = __pyx_v_provider; - __Pyx_INCREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_v_self->__pyx___provider); - __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx___provider)); - __pyx_v_self->__pyx___provider = ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_t_1); - __pyx_t_1 = 0; + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->__pyx___provides); + __Pyx_DECREF(__pyx_v_self->__pyx___provides); + __pyx_v_self->__pyx___provides = Py_None; - /* "dependency_injector/providers.pyx":4105 - * self.__provider = provider - * - * self.__args = parse_positional_injections(args) # <<<<<<<<<<<<<< - * self.__args_len = len(self.__args) + /* "dependency_injector/providers.pyx":4104 + * def __init__(self, provides=None, *args, **kwargs): + * self.__provides = None + * self.set_provides(provides) # <<<<<<<<<<<<<< * + * self.__args = tuple() */ - __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4105, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4104, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_provides) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_provides); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4104, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "dependency_injector/providers.pyx":4106 + * self.set_provides(provides) + * + * self.__args = tuple() # <<<<<<<<<<<<<< + * self.__args_len = 0 + * self.set_args(*args) + */ + __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_self->__pyx___args); @@ -80850,99 +80879,111 @@ static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(str __pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4106 + /* "dependency_injector/providers.pyx":4107 * - * self.__args = parse_positional_injections(args) - * self.__args_len = len(self.__args) # <<<<<<<<<<<<<< + * self.__args = tuple() + * self.__args_len = 0 # <<<<<<<<<<<<<< + * self.set_args(*args) * - * self.__kwargs = parse_named_injections(kwargs) */ - __pyx_t_1 = __pyx_v_self->__pyx___args; - __Pyx_INCREF(__pyx_t_1); - if (unlikely(__pyx_t_1 == Py_None)) { - PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); - __PYX_ERR(1, 4106, __pyx_L1_error) - } - __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4106, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_self->__pyx___args_len = __pyx_t_2; + __pyx_v_self->__pyx___args_len = 0; /* "dependency_injector/providers.pyx":4108 - * self.__args_len = len(self.__args) - * - * self.__kwargs = parse_named_injections(kwargs) # <<<<<<<<<<<<<< - * self.__kwargs_len = len(self.__kwargs) + * self.__args = tuple() + * self.__args_len = 0 + * self.set_args(*args) # <<<<<<<<<<<<<< * + * self.__kwargs = tuple() */ - __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4108, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4108, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "dependency_injector/providers.pyx":4110 + * self.set_args(*args) + * + * self.__kwargs = tuple() # <<<<<<<<<<<<<< + * self.__kwargs_len = 0 + * self.set_kwargs(**kwargs) + */ + __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyTuple_Type))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4110, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); __Pyx_GOTREF(__pyx_v_self->__pyx___kwargs); __Pyx_DECREF(__pyx_v_self->__pyx___kwargs); - __pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; + __pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; - /* "dependency_injector/providers.pyx":4109 + /* "dependency_injector/providers.pyx":4111 * - * self.__kwargs = parse_named_injections(kwargs) - * self.__kwargs_len = len(self.__kwargs) # <<<<<<<<<<<<<< + * self.__kwargs = tuple() + * self.__kwargs_len = 0 # <<<<<<<<<<<<<< + * self.set_kwargs(**kwargs) + * + */ + __pyx_v_self->__pyx___kwargs_len = 0; + + /* "dependency_injector/providers.pyx":4112 + * self.__kwargs = tuple() + * self.__kwargs_len = 0 + * self.set_kwargs(**kwargs) # <<<<<<<<<<<<<< * * super().__init__() */ - __pyx_t_1 = __pyx_v_self->__pyx___kwargs; - __Pyx_INCREF(__pyx_t_1); - if (unlikely(__pyx_t_1 == Py_None)) { - PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); - __PYX_ERR(1, 4109, __pyx_L1_error) - } - __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4109, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4112, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4112, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_self->__pyx___kwargs_len = __pyx_t_2; - /* "dependency_injector/providers.pyx":4111 - * self.__kwargs_len = len(self.__kwargs) + /* "dependency_injector/providers.pyx":4114 + * self.set_kwargs(**kwargs) * * super().__init__() # <<<<<<<<<<<<<< * * def __repr__(self): */ - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4114, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller)); - PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller)); + PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller)); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); - PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_self)); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4111, __pyx_L1_error) + PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self)); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4114, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); + __Pyx_DECREF_SET(__pyx_t_2, function); } } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4111, __pyx_L1_error) + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "dependency_injector/providers.pyx":4102 * """ * - * def __init__(self, provider, *args, **kwargs): # <<<<<<<<<<<<<< - * self.__provider = provider - * + * def __init__(self, provides=None, *args, **kwargs): # <<<<<<<<<<<<<< + * self.__provides = None + * self.set_provides(provides) */ /* function exit code */ @@ -80950,8 +80991,8 @@ static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(str goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("dependency_injector.providers.MethodCaller.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; @@ -80959,11 +81000,11 @@ static int __pyx_pf_19dependency_injector_9providers_12MethodCaller___init__(str return __pyx_r; } -/* "dependency_injector/providers.pyx":4113 +/* "dependency_injector/providers.pyx":4116 * super().__init__() * * def __repr__(self): # <<<<<<<<<<<<<< - * return f'{self.__class__.__name__}({self.__provider})' + * return f'{self.__class__.__name__}({self.provides})' * */ @@ -80993,24 +81034,24 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_2__rep int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__repr__", 0); - /* "dependency_injector/providers.pyx":4114 + /* "dependency_injector/providers.pyx":4117 * * def __repr__(self): - * return f'{self.__class__.__name__}({self.__provider})' # <<<<<<<<<<<<<< + * return f'{self.__class__.__name__}({self.provides})' # <<<<<<<<<<<<<< * - * def __deepcopy__(self, memo=None): + * def __deepcopy__(self, memo): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4114, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = 127; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4114, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4114, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4114, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_3; @@ -81022,29 +81063,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_2__rep __pyx_t_2 += 1; __Pyx_GIVEREF(__pyx_kp_u__7); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u__7); - __pyx_t_4 = __Pyx_PyObject_FormatSimple(((PyObject *)__pyx_v_self->__pyx___provider), __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4114, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_3; - __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_4); - __pyx_t_4 = 0; + __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4117, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_3; + __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_5); + __pyx_t_5 = 0; __Pyx_INCREF(__pyx_kp_u__31); __pyx_t_2 += 1; __Pyx_GIVEREF(__pyx_kp_u__31); PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_kp_u__31); - __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_1, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4114, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_1, 4, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4117, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4113 + /* "dependency_injector/providers.pyx":4116 * super().__init__() * * def __repr__(self): # <<<<<<<<<<<<<< - * return f'{self.__class__.__name__}({self.__provider})' + * return f'{self.__class__.__name__}({self.provides})' * */ @@ -81061,67 +81105,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_2__rep return __pyx_r; } -/* "dependency_injector/providers.pyx":4116 - * return f'{self.__class__.__name__}({self.__provider})' - * - * def __deepcopy__(self, memo=None): # <<<<<<<<<<<<<< - * cdef MethodCaller copied +/* "dependency_injector/providers.pyx":4119 + * return f'{self.__class__.__name__}({self.provides})' * + * def __deepcopy__(self, memo): # <<<<<<<<<<<<<< + * copied = memo.get(id(self)) + * if copied is not None: */ /* Python wrapper */ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_5__deepcopy__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_5__deepcopy__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_memo = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_5__deepcopy__(PyObject *__pyx_v_self, PyObject *__pyx_v_memo); /*proto*/ +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_5__deepcopy__(PyObject *__pyx_v_self, PyObject *__pyx_v_memo) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__deepcopy__ (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_memo,0}; - PyObject* values[1] = {0}; - values[0] = ((PyObject *)Py_None); - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memo); - if (value) { values[0] = value; kw_args--; } - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__deepcopy__") < 0)) __PYX_ERR(1, 4116, __pyx_L3_error) - } - } else { - switch (PyTuple_GET_SIZE(__pyx_args)) { - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_memo = values[0]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__deepcopy__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4116, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("dependency_injector.providers.MethodCaller.__deepcopy__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_4__deepcopy__(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self), __pyx_v_memo); + __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_4__deepcopy__(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self), ((PyObject *)__pyx_v_memo)); /* function exit code */ __Pyx_RefNannyFinishContext(); @@ -81129,7 +81127,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_5__dee } static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4__deepcopy__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_memo) { - struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_copied = 0; + PyObject *__pyx_v_copied = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -81139,22 +81137,21 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4__dee int __pyx_t_5; int __pyx_t_6; struct __pyx_opt_args_19dependency_injector_9providers_deepcopy __pyx_t_7; - int __pyx_t_8; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__deepcopy__", 0); - /* "dependency_injector/providers.pyx":4119 - * cdef MethodCaller copied + /* "dependency_injector/providers.pyx":4120 * + * def __deepcopy__(self, memo): * copied = memo.get(id(self)) # <<<<<<<<<<<<<< * if copied is not None: * return copied */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4119, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4119, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -81169,38 +81166,37 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4__dee __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4119, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_MethodCaller))))) __PYX_ERR(1, 4119, __pyx_L1_error) - __pyx_v_copied = ((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_t_1); + __pyx_v_copied = __pyx_t_1; __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4120 - * + /* "dependency_injector/providers.pyx":4121 + * def __deepcopy__(self, memo): * copied = memo.get(id(self)) * if copied is not None: # <<<<<<<<<<<<<< * return copied * */ - __pyx_t_5 = (((PyObject *)__pyx_v_copied) != Py_None); + __pyx_t_5 = (__pyx_v_copied != Py_None); __pyx_t_6 = (__pyx_t_5 != 0); if (__pyx_t_6) { - /* "dependency_injector/providers.pyx":4121 + /* "dependency_injector/providers.pyx":4122 * copied = memo.get(id(self)) * if copied is not None: * return copied # <<<<<<<<<<<<<< * - * copied = self.__class__(deepcopy(self.__provider, memo)) + * copied = _memorized_duplicate(self, memo) */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_copied)); - __pyx_r = ((PyObject *)__pyx_v_copied); + __Pyx_INCREF(__pyx_v_copied); + __pyx_r = __pyx_v_copied; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4120 - * + /* "dependency_injector/providers.pyx":4121 + * def __deepcopy__(self, memo): * copied = memo.get(id(self)) * if copied is not None: # <<<<<<<<<<<<<< * return copied @@ -81208,21 +81204,32 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4__dee */ } - /* "dependency_injector/providers.pyx":4123 + /* "dependency_injector/providers.pyx":4124 * return copied * - * copied = self.__class__(deepcopy(self.__provider, memo)) # <<<<<<<<<<<<<< - * copied.__args = deepcopy(self.__args, memo) - * copied.__args_len = self.__args_len + * copied = _memorized_duplicate(self, memo) # <<<<<<<<<<<<<< + * copied.set_provides(_copy_if_provider(self.provides, memo)) + * copied.set_args(*deepcopy(self.args, memo)) */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4123, __pyx_L1_error) + if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4124, __pyx_L1_error) + __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4124, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_copied, __pyx_t_1); + __pyx_t_1 = 0; + + /* "dependency_injector/providers.pyx":4125 + * + * copied = _memorized_duplicate(self, memo) + * copied.set_provides(_copy_if_provider(self.provides, memo)) # <<<<<<<<<<<<<< + * copied.set_args(*deepcopy(self.args, memo)) + * copied.set_kwargs(**deepcopy(self.kwargs, memo)) + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = ((PyObject *)__pyx_v_self->__pyx___provider); - __Pyx_INCREF(__pyx_t_3); - if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4123, __pyx_L1_error) - __pyx_t_7.__pyx_n = 1; - __pyx_t_7.memo = ((PyObject*)__pyx_v_memo); - __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4123, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4125, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4125, __pyx_L1_error) + __pyx_t_4 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_t_3, ((PyObject*)__pyx_v_memo), 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -81238,105 +81245,102 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4__dee __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4123, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_MethodCaller))))) __PYX_ERR(1, 4123, __pyx_L1_error) - __Pyx_DECREF_SET(__pyx_v_copied, ((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_t_1)); - __pyx_t_1 = 0; - - /* "dependency_injector/providers.pyx":4124 - * - * copied = self.__class__(deepcopy(self.__provider, memo)) - * copied.__args = deepcopy(self.__args, memo) # <<<<<<<<<<<<<< - * copied.__args_len = self.__args_len - * copied.__kwargs = deepcopy(self.__kwargs, memo) - */ - __pyx_t_1 = __pyx_v_self->__pyx___args; - __Pyx_INCREF(__pyx_t_1); - if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4124, __pyx_L1_error) - __pyx_t_7.__pyx_n = 1; - __pyx_t_7.memo = ((PyObject*)__pyx_v_memo); - __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!(likely(PyTuple_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(1, 4124, __pyx_L1_error) - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_v_copied->__pyx___args); - __Pyx_DECREF(__pyx_v_copied->__pyx___args); - __pyx_v_copied->__pyx___args = ((PyObject*)__pyx_t_2); - __pyx_t_2 = 0; - - /* "dependency_injector/providers.pyx":4125 - * copied = self.__class__(deepcopy(self.__provider, memo)) - * copied.__args = deepcopy(self.__args, memo) - * copied.__args_len = self.__args_len # <<<<<<<<<<<<<< - * copied.__kwargs = deepcopy(self.__kwargs, memo) - * copied.__kwargs_len = self.__kwargs_len - */ - __pyx_t_8 = __pyx_v_self->__pyx___args_len; - __pyx_v_copied->__pyx___args_len = __pyx_t_8; /* "dependency_injector/providers.pyx":4126 - * copied.__args = deepcopy(self.__args, memo) - * copied.__args_len = self.__args_len - * copied.__kwargs = deepcopy(self.__kwargs, memo) # <<<<<<<<<<<<<< - * copied.__kwargs_len = self.__kwargs_len - * + * copied = _memorized_duplicate(self, memo) + * copied.set_provides(_copy_if_provider(self.provides, memo)) + * copied.set_args(*deepcopy(self.args, memo)) # <<<<<<<<<<<<<< + * copied.set_kwargs(**deepcopy(self.kwargs, memo)) + * self._copy_overridings(copied, memo) */ - __pyx_t_2 = __pyx_v_self->__pyx___kwargs; - __Pyx_INCREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4126, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4126, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4126, __pyx_L1_error) __pyx_t_7.__pyx_n = 1; __pyx_t_7.memo = ((PyObject*)__pyx_v_memo); - __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_2, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4126, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 4126, __pyx_L1_error) - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_v_copied->__pyx___kwargs); - __Pyx_DECREF(__pyx_v_copied->__pyx___kwargs); - __pyx_v_copied->__pyx___kwargs = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; + __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4126, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4126, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "dependency_injector/providers.pyx":4127 - * copied.__args_len = self.__args_len - * copied.__kwargs = deepcopy(self.__kwargs, memo) - * copied.__kwargs_len = self.__kwargs_len # <<<<<<<<<<<<<< - * + * copied.set_provides(_copy_if_provider(self.provides, memo)) + * copied.set_args(*deepcopy(self.args, memo)) + * copied.set_kwargs(**deepcopy(self.kwargs, memo)) # <<<<<<<<<<<<<< * self._copy_overridings(copied, memo) - */ - __pyx_t_8 = __pyx_v_self->__pyx___kwargs_len; - __pyx_v_copied->__pyx___kwargs_len = __pyx_t_8; - - /* "dependency_injector/providers.pyx":4129 - * copied.__kwargs_len = self.__kwargs_len - * - * self._copy_overridings(copied, memo) # <<<<<<<<<<<<<< - * * return copied */ - if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4129, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_copied, __pyx_n_s_set_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4127, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4127, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4127, __pyx_L1_error) + __pyx_t_7.__pyx_n = 1; + __pyx_t_7.memo = ((PyObject*)__pyx_v_memo); + __pyx_t_3 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_1, 0, &__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4127, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(__pyx_t_3 == Py_None)) { + PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); + __PYX_ERR(1, 4127, __pyx_L1_error) + } + if (likely(PyDict_CheckExact(__pyx_t_3))) { + __pyx_t_2 = PyDict_Copy(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4127, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else { + __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4127, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4127, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "dependency_injector/providers.pyx":4128 + * copied.set_args(*deepcopy(self.args, memo)) + * copied.set_kwargs(**deepcopy(self.kwargs, memo)) + * self._copy_overridings(copied, memo) # <<<<<<<<<<<<<< + * return copied + * + */ + if (!(likely(((__pyx_v_copied) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_copied, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(1, 4128, __pyx_L1_error) + if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4128, __pyx_L1_error) ((struct __pyx_vtabstruct_19dependency_injector_9providers_MethodCaller *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._copy_overridings(((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_self), ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_v_copied), ((PyObject*)__pyx_v_memo), 0); - /* "dependency_injector/providers.pyx":4131 + /* "dependency_injector/providers.pyx":4129 + * copied.set_kwargs(**deepcopy(self.kwargs, memo)) * self._copy_overridings(copied, memo) - * * return copied # <<<<<<<<<<<<<< * * def __getattr__(self, item): */ __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_copied)); - __pyx_r = ((PyObject *)__pyx_v_copied); + __Pyx_INCREF(__pyx_v_copied); + __pyx_r = __pyx_v_copied; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4116 - * return f'{self.__class__.__name__}({self.__provider})' - * - * def __deepcopy__(self, memo=None): # <<<<<<<<<<<<<< - * cdef MethodCaller copied + /* "dependency_injector/providers.pyx":4119 + * return f'{self.__class__.__name__}({self.provides})' * + * def __deepcopy__(self, memo): # <<<<<<<<<<<<<< + * copied = memo.get(id(self)) + * if copied is not None: */ /* function exit code */ @@ -81348,13 +81352,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4__dee __Pyx_AddTraceback("dependency_injector.providers.MethodCaller.__deepcopy__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_copied); + __Pyx_XDECREF(__pyx_v_copied); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "dependency_injector/providers.pyx":4133 +/* "dependency_injector/providers.pyx":4131 * return copied * * def __getattr__(self, item): # <<<<<<<<<<<<<< @@ -81385,7 +81389,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6__get int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__getattr__", 0); - /* "dependency_injector/providers.pyx":4134 + /* "dependency_injector/providers.pyx":4132 * * def __getattr__(self, item): * return AttributeGetter(self, item) # <<<<<<<<<<<<<< @@ -81393,7 +81397,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6__get * def __getitem__(self, item): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4134, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); @@ -81401,14 +81405,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6__get __Pyx_INCREF(__pyx_v_item); __Pyx_GIVEREF(__pyx_v_item); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_item); - __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AttributeGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4134, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_AttributeGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4133 + /* "dependency_injector/providers.pyx":4131 * return copied * * def __getattr__(self, item): # <<<<<<<<<<<<<< @@ -81428,7 +81432,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6__get return __pyx_r; } -/* "dependency_injector/providers.pyx":4136 +/* "dependency_injector/providers.pyx":4134 * return AttributeGetter(self, item) * * def __getitem__(self, item): # <<<<<<<<<<<<<< @@ -81459,15 +81463,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_8__get int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__getitem__", 0); - /* "dependency_injector/providers.pyx":4137 + /* "dependency_injector/providers.pyx":4135 * * def __getitem__(self, item): * return ItemGetter(self, item) # <<<<<<<<<<<<<< * - * @property + * def call(self, *args, **kwargs): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4137, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); @@ -81475,14 +81479,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_8__get __Pyx_INCREF(__pyx_v_item); __Pyx_GIVEREF(__pyx_v_item); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_item); - __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ItemGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4137, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_ItemGetter), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4136 + /* "dependency_injector/providers.pyx":4134 * return AttributeGetter(self, item) * * def __getitem__(self, item): # <<<<<<<<<<<<<< @@ -81502,310 +81506,8 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_8__get return __pyx_r; } -/* "dependency_injector/providers.pyx":4140 - * - * @property - * def provides(self): # <<<<<<<<<<<<<< - * """Return provider.""" - * return self.__provider - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_8provides_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_8provides_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_8provides___get__(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_8provides___get__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__", 0); - - /* "dependency_injector/providers.pyx":4142 - * def provides(self): - * """Return provider.""" - * return self.__provider # <<<<<<<<<<<<<< - * - * @property - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_self->__pyx___provider)); - __pyx_r = ((PyObject *)__pyx_v_self->__pyx___provider); - goto __pyx_L0; - - /* "dependency_injector/providers.pyx":4140 - * - * @property - * def provides(self): # <<<<<<<<<<<<<< - * """Return provider.""" - * return self.__provider - */ - - /* function exit code */ - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "dependency_injector/providers.pyx":4145 - * - * @property - * def args(self): # <<<<<<<<<<<<<< - * """Return positional argument injections.""" - * cdef int index - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_4args_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_4args_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_4args___get__(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4args___get__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self) { - int __pyx_v_index; - struct __pyx_obj_19dependency_injector_9providers_PositionalInjection *__pyx_v_arg = 0; - PyObject *__pyx_v_args = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - /* "dependency_injector/providers.pyx":4151 - * cdef list args - * - * args = list() # <<<<<<<<<<<<<< - * for index in range(self.__args_len): - * arg = self.__args[index] - */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_args = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "dependency_injector/providers.pyx":4152 - * - * args = list() - * for index in range(self.__args_len): # <<<<<<<<<<<<<< - * arg = self.__args[index] - * args.append(arg.__value) - */ - __pyx_t_2 = __pyx_v_self->__pyx___args_len; - __pyx_t_3 = __pyx_t_2; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_index = __pyx_t_4; - - /* "dependency_injector/providers.pyx":4153 - * args = list() - * for index in range(self.__args_len): - * arg = self.__args[index] # <<<<<<<<<<<<<< - * args.append(arg.__value) - * return tuple(args) - */ - if (unlikely(__pyx_v_self->__pyx___args == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(1, 4153, __pyx_L1_error) - } - __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___args, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_PositionalInjection))))) __PYX_ERR(1, 4153, __pyx_L1_error) - __Pyx_XDECREF_SET(__pyx_v_arg, ((struct __pyx_obj_19dependency_injector_9providers_PositionalInjection *)__pyx_t_1)); - __pyx_t_1 = 0; - - /* "dependency_injector/providers.pyx":4154 - * for index in range(self.__args_len): - * arg = self.__args[index] - * args.append(arg.__value) # <<<<<<<<<<<<<< - * return tuple(args) - * - */ - __pyx_t_1 = __pyx_v_arg->__pyx_base.__pyx___value; - __Pyx_INCREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_args, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 4154, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - - /* "dependency_injector/providers.pyx":4155 - * arg = self.__args[index] - * args.append(arg.__value) - * return tuple(args) # <<<<<<<<<<<<<< - * - * @property - */ - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyList_AsTuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4155, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "dependency_injector/providers.pyx":4145 - * - * @property - * def args(self): # <<<<<<<<<<<<<< - * """Return positional argument injections.""" - * cdef int index - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("dependency_injector.providers.MethodCaller.args.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_arg); - __Pyx_XDECREF(__pyx_v_args); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "dependency_injector/providers.pyx":4158 - * - * @property - * def kwargs(self): # <<<<<<<<<<<<<< - * """Return keyword argument injections.""" - * cdef int index - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_6kwargs_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_6kwargs_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_6kwargs___get__(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6kwargs___get__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self) { - int __pyx_v_index; - struct __pyx_obj_19dependency_injector_9providers_NamedInjection *__pyx_v_kwarg = 0; - PyObject *__pyx_v_kwargs = 0; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - - /* "dependency_injector/providers.pyx":4164 - * cdef dict kwargs - * - * kwargs = dict() # <<<<<<<<<<<<<< - * for index in range(self.__kwargs_len): - * kwarg = self.__kwargs[index] - */ - __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_kwargs = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "dependency_injector/providers.pyx":4165 - * - * kwargs = dict() - * for index in range(self.__kwargs_len): # <<<<<<<<<<<<<< - * kwarg = self.__kwargs[index] - * kwargs[kwarg.__name] = kwarg.__value - */ - __pyx_t_2 = __pyx_v_self->__pyx___kwargs_len; - __pyx_t_3 = __pyx_t_2; - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { - __pyx_v_index = __pyx_t_4; - - /* "dependency_injector/providers.pyx":4166 - * kwargs = dict() - * for index in range(self.__kwargs_len): - * kwarg = self.__kwargs[index] # <<<<<<<<<<<<<< - * kwargs[kwarg.__name] = kwarg.__value - * return kwargs - */ - if (unlikely(__pyx_v_self->__pyx___kwargs == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(1, 4166, __pyx_L1_error) - } - __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___kwargs, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_NamedInjection))))) __PYX_ERR(1, 4166, __pyx_L1_error) - __Pyx_XDECREF_SET(__pyx_v_kwarg, ((struct __pyx_obj_19dependency_injector_9providers_NamedInjection *)__pyx_t_1)); - __pyx_t_1 = 0; - - /* "dependency_injector/providers.pyx":4167 - * for index in range(self.__kwargs_len): - * kwarg = self.__kwargs[index] - * kwargs[kwarg.__name] = kwarg.__value # <<<<<<<<<<<<<< - * return kwargs - * - */ - __pyx_t_1 = __pyx_v_kwarg->__pyx_base.__pyx___value; - __Pyx_INCREF(__pyx_t_1); - if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_kwarg->__pyx___name, __pyx_t_1) < 0)) __PYX_ERR(1, 4167, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - - /* "dependency_injector/providers.pyx":4168 - * kwarg = self.__kwargs[index] - * kwargs[kwarg.__name] = kwarg.__value - * return kwargs # <<<<<<<<<<<<<< - * - * def call(self, *args, **kwargs): - */ - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_kwargs); - __pyx_r = __pyx_v_kwargs; - goto __pyx_L0; - - /* "dependency_injector/providers.pyx":4158 - * - * @property - * def kwargs(self): # <<<<<<<<<<<<<< - * """Return keyword argument injections.""" - * cdef int index - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("dependency_injector.providers.MethodCaller.kwargs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_kwarg); - __Pyx_XDECREF(__pyx_v_kwargs); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "dependency_injector/providers.pyx":4170 - * return kwargs +/* "dependency_injector/providers.pyx":4137 + * return ItemGetter(self, item) * * def call(self, *args, **kwargs): # <<<<<<<<<<<<<< * return MethodCaller(self, *args, **kwargs) @@ -81848,7 +81550,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_10call int __pyx_clineno = 0; __Pyx_RefNannySetupContext("call", 0); - /* "dependency_injector/providers.pyx":4171 + /* "dependency_injector/providers.pyx":4138 * * def call(self, *args, **kwargs): * return MethodCaller(self, *args, **kwargs) # <<<<<<<<<<<<<< @@ -81856,23 +81558,23 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_10call * @property */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4171, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self)); - __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4171, __pyx_L1_error) + __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller), __pyx_t_2, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4171, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller), __pyx_t_2, __pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4170 - * return kwargs + /* "dependency_injector/providers.pyx":4137 + * return ItemGetter(self, item) * * def call(self, *args, **kwargs): # <<<<<<<<<<<<<< * return MethodCaller(self, *args, **kwargs) @@ -81890,14 +81592,585 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_10call __Pyx_RefNannyFinishContext(); return __pyx_r; } + +/* "dependency_injector/providers.pyx":4141 + * + * @property + * def provides(self): # <<<<<<<<<<<<<< + * """Return provider's provides.""" + * return self.__provides + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_8provides_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_8provides_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_8provides___get__(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_8provides___get__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + + /* "dependency_injector/providers.pyx":4143 + * def provides(self): + * """Return provider's provides.""" + * return self.__provides # <<<<<<<<<<<<<< + * + * def set_provides(self, provides): + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->__pyx___provides); + __pyx_r = __pyx_v_self->__pyx___provides; + goto __pyx_L0; + + /* "dependency_injector/providers.pyx":4141 + * + * @property + * def provides(self): # <<<<<<<<<<<<<< + * """Return provider's provides.""" + * return self.__provides + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "dependency_injector/providers.pyx":4145 + * return self.__provides + * + * def set_provides(self, provides): # <<<<<<<<<<<<<< + * """Set provider's provides.""" + * self.__provides = provides + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_13set_provides(PyObject *__pyx_v_self, PyObject *__pyx_v_provides); /*proto*/ +static char __pyx_doc_19dependency_injector_9providers_12MethodCaller_12set_provides[] = "Set provider's provides."; +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_13set_provides(PyObject *__pyx_v_self, PyObject *__pyx_v_provides) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("set_provides (wrapper)", 0); + __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_12set_provides(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self), ((PyObject *)__pyx_v_provides)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_12set_provides(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_provides) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("set_provides", 0); + + /* "dependency_injector/providers.pyx":4147 + * def set_provides(self, provides): + * """Set provider's provides.""" + * self.__provides = provides # <<<<<<<<<<<<<< + * return self + * + */ + __Pyx_INCREF(__pyx_v_provides); + __Pyx_GIVEREF(__pyx_v_provides); + __Pyx_GOTREF(__pyx_v_self->__pyx___provides); + __Pyx_DECREF(__pyx_v_self->__pyx___provides); + __pyx_v_self->__pyx___provides = __pyx_v_provides; + + /* "dependency_injector/providers.pyx":4148 + * """Set provider's provides.""" + * self.__provides = provides + * return self # <<<<<<<<<<<<<< + * + * @property + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_self)); + __pyx_r = ((PyObject *)__pyx_v_self); + goto __pyx_L0; + + /* "dependency_injector/providers.pyx":4145 + * return self.__provides + * + * def set_provides(self, provides): # <<<<<<<<<<<<<< + * """Set provider's provides.""" + * self.__provides = provides + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "dependency_injector/providers.pyx":4151 + * + * @property + * def args(self): # <<<<<<<<<<<<<< + * """Return positional argument injections.""" + * cdef int index + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_4args_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_4args_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_4args___get__(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_4args___get__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self) { + int __pyx_v_index; + struct __pyx_obj_19dependency_injector_9providers_PositionalInjection *__pyx_v_arg = 0; + PyObject *__pyx_v_args = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + + /* "dependency_injector/providers.pyx":4157 + * cdef list args + * + * args = list() # <<<<<<<<<<<<<< + * for index in range(self.__args_len): + * arg = self.__args[index] + */ + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4157, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_args = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "dependency_injector/providers.pyx":4158 + * + * args = list() + * for index in range(self.__args_len): # <<<<<<<<<<<<<< + * arg = self.__args[index] + * args.append(arg.__value) + */ + __pyx_t_2 = __pyx_v_self->__pyx___args_len; + __pyx_t_3 = __pyx_t_2; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_index = __pyx_t_4; + + /* "dependency_injector/providers.pyx":4159 + * args = list() + * for index in range(self.__args_len): + * arg = self.__args[index] # <<<<<<<<<<<<<< + * args.append(arg.__value) + * return tuple(args) + */ + if (unlikely(__pyx_v_self->__pyx___args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 4159, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___args, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4159, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_PositionalInjection))))) __PYX_ERR(1, 4159, __pyx_L1_error) + __Pyx_XDECREF_SET(__pyx_v_arg, ((struct __pyx_obj_19dependency_injector_9providers_PositionalInjection *)__pyx_t_1)); + __pyx_t_1 = 0; + + /* "dependency_injector/providers.pyx":4160 + * for index in range(self.__args_len): + * arg = self.__args[index] + * args.append(arg.__value) # <<<<<<<<<<<<<< + * return tuple(args) + * + */ + __pyx_t_1 = __pyx_v_arg->__pyx_base.__pyx___value; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_args, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 4160, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + + /* "dependency_injector/providers.pyx":4161 + * arg = self.__args[index] + * args.append(arg.__value) + * return tuple(args) # <<<<<<<<<<<<<< + * + * def set_args(self, *args): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyList_AsTuple(__pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4161, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "dependency_injector/providers.pyx":4151 + * + * @property + * def args(self): # <<<<<<<<<<<<<< + * """Return positional argument injections.""" + * cdef int index + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("dependency_injector.providers.MethodCaller.args.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_arg); + __Pyx_XDECREF(__pyx_v_args); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "dependency_injector/providers.pyx":4163 + * return tuple(args) + * + * def set_args(self, *args): # <<<<<<<<<<<<<< + * """Set positional argument injections. + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_15set_args(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_19dependency_injector_9providers_12MethodCaller_14set_args[] = "Set positional argument injections.\n\n Existing positional argument injections are dropped.\n\n :return: Reference ``self``\n "; +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_15set_args(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_args = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("set_args (wrapper)", 0); + if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "set_args", 0))) return NULL; + __Pyx_INCREF(__pyx_args); + __pyx_v_args = __pyx_args; + __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_14set_args(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self), __pyx_v_args); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_14set_args(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_args) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("set_args", 0); + + /* "dependency_injector/providers.pyx":4170 + * :return: Reference ``self`` + * """ + * self.__args = parse_positional_injections(args) # <<<<<<<<<<<<<< + * self.__args_len = len(self.__args) + * return self + */ + __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4170, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->__pyx___args); + __Pyx_DECREF(__pyx_v_self->__pyx___args); + __pyx_v_self->__pyx___args = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "dependency_injector/providers.pyx":4171 + * """ + * self.__args = parse_positional_injections(args) + * self.__args_len = len(self.__args) # <<<<<<<<<<<<<< + * return self + * + */ + __pyx_t_1 = __pyx_v_self->__pyx___args; + __Pyx_INCREF(__pyx_t_1); + if (unlikely(__pyx_t_1 == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(1, 4171, __pyx_L1_error) + } + __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4171, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_self->__pyx___args_len = __pyx_t_2; + + /* "dependency_injector/providers.pyx":4172 + * self.__args = parse_positional_injections(args) + * self.__args_len = len(self.__args) + * return self # <<<<<<<<<<<<<< + * + * @property + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_self)); + __pyx_r = ((PyObject *)__pyx_v_self); + goto __pyx_L0; + + /* "dependency_injector/providers.pyx":4163 + * return tuple(args) + * + * def set_args(self, *args): # <<<<<<<<<<<<<< + * """Set positional argument injections. + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("dependency_injector.providers.MethodCaller.set_args", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "dependency_injector/providers.pyx":4175 + * + * @property + * def kwargs(self): # <<<<<<<<<<<<<< + * """Return keyword argument injections.""" + * cdef int index + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_6kwargs_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_6kwargs_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_6kwargs___get__(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_6kwargs___get__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self) { + int __pyx_v_index; + struct __pyx_obj_19dependency_injector_9providers_NamedInjection *__pyx_v_kwarg = 0; + PyObject *__pyx_v_kwargs = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + int __pyx_t_4; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + + /* "dependency_injector/providers.pyx":4181 + * cdef dict kwargs + * + * kwargs = dict() # <<<<<<<<<<<<<< + * for index in range(self.__kwargs_len): + * kwarg = self.__kwargs[index] + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4181, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_kwargs = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "dependency_injector/providers.pyx":4182 + * + * kwargs = dict() + * for index in range(self.__kwargs_len): # <<<<<<<<<<<<<< + * kwarg = self.__kwargs[index] + * kwargs[kwarg.__name] = kwarg.__value + */ + __pyx_t_2 = __pyx_v_self->__pyx___kwargs_len; + __pyx_t_3 = __pyx_t_2; + for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { + __pyx_v_index = __pyx_t_4; + + /* "dependency_injector/providers.pyx":4183 + * kwargs = dict() + * for index in range(self.__kwargs_len): + * kwarg = self.__kwargs[index] # <<<<<<<<<<<<<< + * kwargs[kwarg.__name] = kwarg.__value + * return kwargs + */ + if (unlikely(__pyx_v_self->__pyx___kwargs == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 4183, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->__pyx___kwargs, __pyx_v_index, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4183, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_NamedInjection))))) __PYX_ERR(1, 4183, __pyx_L1_error) + __Pyx_XDECREF_SET(__pyx_v_kwarg, ((struct __pyx_obj_19dependency_injector_9providers_NamedInjection *)__pyx_t_1)); + __pyx_t_1 = 0; + + /* "dependency_injector/providers.pyx":4184 + * for index in range(self.__kwargs_len): + * kwarg = self.__kwargs[index] + * kwargs[kwarg.__name] = kwarg.__value # <<<<<<<<<<<<<< + * return kwargs + * + */ + __pyx_t_1 = __pyx_v_kwarg->__pyx_base.__pyx___value; + __Pyx_INCREF(__pyx_t_1); + if (unlikely(PyDict_SetItem(__pyx_v_kwargs, __pyx_v_kwarg->__pyx___name, __pyx_t_1) < 0)) __PYX_ERR(1, 4184, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + + /* "dependency_injector/providers.pyx":4185 + * kwarg = self.__kwargs[index] + * kwargs[kwarg.__name] = kwarg.__value + * return kwargs # <<<<<<<<<<<<<< + * + * def set_kwargs(self, **kwargs): + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_kwargs); + __pyx_r = __pyx_v_kwargs; + goto __pyx_L0; + + /* "dependency_injector/providers.pyx":4175 + * + * @property + * def kwargs(self): # <<<<<<<<<<<<<< + * """Return keyword argument injections.""" + * cdef int index + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("dependency_injector.providers.MethodCaller.kwargs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_kwarg); + __Pyx_XDECREF(__pyx_v_kwargs); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "dependency_injector/providers.pyx":4187 + * return kwargs + * + * def set_kwargs(self, **kwargs): # <<<<<<<<<<<<<< + * """Set keyword argument injections. + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_17set_kwargs(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_19dependency_injector_9providers_12MethodCaller_16set_kwargs[] = "Set keyword argument injections.\n\n Existing keyword argument injections are dropped.\n\n :return: Reference ``self``\n "; +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_17set_kwargs(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_kwargs = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("set_kwargs (wrapper)", 0); + if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { + __Pyx_RaiseArgtupleInvalid("set_kwargs", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} + if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "set_kwargs", 1))) return NULL; + __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; + __Pyx_GOTREF(__pyx_v_kwargs); + __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_16set_kwargs(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self), __pyx_v_kwargs); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_kwargs); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16set_kwargs(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_kwargs) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("set_kwargs", 0); + + /* "dependency_injector/providers.pyx":4194 + * :return: Reference ``self`` + * """ + * self.__kwargs = parse_named_injections(kwargs) # <<<<<<<<<<<<<< + * self.__kwargs_len = len(self.__kwargs) + * return self + */ + __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4194, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->__pyx___kwargs); + __Pyx_DECREF(__pyx_v_self->__pyx___kwargs); + __pyx_v_self->__pyx___kwargs = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "dependency_injector/providers.pyx":4195 + * """ + * self.__kwargs = parse_named_injections(kwargs) + * self.__kwargs_len = len(self.__kwargs) # <<<<<<<<<<<<<< + * return self + * + */ + __pyx_t_1 = __pyx_v_self->__pyx___kwargs; + __Pyx_INCREF(__pyx_t_1); + if (unlikely(__pyx_t_1 == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(1, 4195, __pyx_L1_error) + } + __pyx_t_2 = PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4195, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_self->__pyx___kwargs_len = __pyx_t_2; + + /* "dependency_injector/providers.pyx":4196 + * self.__kwargs = parse_named_injections(kwargs) + * self.__kwargs_len = len(self.__kwargs) + * return self # <<<<<<<<<<<<<< + * + * @property + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_self)); + __pyx_r = ((PyObject *)__pyx_v_self); + goto __pyx_L0; + + /* "dependency_injector/providers.pyx":4187 + * return kwargs + * + * def set_kwargs(self, **kwargs): # <<<<<<<<<<<<<< + * """Set keyword argument injections. + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("dependency_injector.providers.MethodCaller.set_kwargs", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7related_2generator19(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ -/* "dependency_injector/providers.pyx":4174 +/* "dependency_injector/providers.pyx":4199 * * @property * def related(self): # <<<<<<<<<<<<<< * """Return related providers generator.""" - * yield self.__provider + * if is_provider(self.provides): */ /* Python wrapper */ @@ -81925,7 +82198,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_7relat if (unlikely(!__pyx_cur_scope)) { __pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_23___get__ *)Py_None); __Pyx_INCREF(Py_None); - __PYX_ERR(1, 4174, __pyx_L1_error) + __PYX_ERR(1, 4199, __pyx_L1_error) } else { __Pyx_GOTREF(__pyx_cur_scope); } @@ -81933,7 +82206,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_7relat __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self); __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self); { - __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_12MethodCaller_7related_2generator19, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_MethodCaller___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4174, __pyx_L1_error) + __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_12MethodCaller_7related_2generator19, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_get_2, __pyx_n_s_MethodCaller___get, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4199, __pyx_L1_error) __Pyx_DECREF(__pyx_cur_scope); __Pyx_RefNannyFinishContext(); return (PyObject *) gen; @@ -81954,9 +82227,10 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_23___get__ *__pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_23___get__ *)__pyx_generator->closure); PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; + int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; @@ -81964,59 +82238,83 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat __Pyx_RefNannySetupContext("related", 0); switch (__pyx_generator->resume_label) { case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L4_resume_from_yield; - case 2: goto __pyx_L5_resume_from_yield_from; - case 3: goto __pyx_L6_resume_from_yield_from; - case 4: goto __pyx_L7_resume_from_yield_from; + case 1: goto __pyx_L5_resume_from_yield; + case 2: goto __pyx_L6_resume_from_yield_from; + case 3: goto __pyx_L7_resume_from_yield_from; + case 4: goto __pyx_L8_resume_from_yield_from; default: /* CPython raises the right error here */ __Pyx_RefNannyFinishContext(); return NULL; } __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4174, __pyx_L1_error) + if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4199, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4176 + /* "dependency_injector/providers.pyx":4201 * def related(self): * """Return related providers generator.""" - * yield self.__provider # <<<<<<<<<<<<<< + * if is_provider(self.provides): # <<<<<<<<<<<<<< + * yield self.provides + * yield from filter(is_provider, self.args) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4201, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__pyx_f_19dependency_injector_9providers_is_provider(__pyx_t_1, 0) != 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_2) { + + /* "dependency_injector/providers.pyx":4202 + * """Return related providers generator.""" + * if is_provider(self.provides): + * yield self.provides # <<<<<<<<<<<<<< * yield from filter(is_provider, self.args) * yield from filter(is_provider, self.kwargs.values()) */ - __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self->__pyx___provider)); - __pyx_r = ((PyObject *)__pyx_cur_scope->__pyx_v_self->__pyx___provider); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, yielding value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L4_resume_from_yield:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4176, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4202, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + __Pyx_Coroutine_ResetAndClearException(__pyx_generator); + /* return from generator, yielding value */ + __pyx_generator->resume_label = 1; + return __pyx_r; + __pyx_L5_resume_from_yield:; + if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4202, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4177 + /* "dependency_injector/providers.pyx":4201 + * def related(self): * """Return related providers generator.""" - * yield self.__provider + * if is_provider(self.provides): # <<<<<<<<<<<<<< + * yield self.provides + * yield from filter(is_provider, self.args) + */ + } + + /* "dependency_injector/providers.pyx":4203 + * if is_provider(self.provides): + * yield self.provides * yield from filter(is_provider, self.args) # <<<<<<<<<<<<<< * yield from filter(is_provider, self.kwargs.values()) * yield from super().related */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4177, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4177, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4177, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4203, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_1 = 0; - __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4177, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4203, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XGOTREF(__pyx_r); if (likely(__pyx_r)) { __Pyx_XGIVEREF(__pyx_r); @@ -82025,58 +82323,58 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat /* return from generator, yielding value */ __pyx_generator->resume_label = 2; return __pyx_r; - __pyx_L5_resume_from_yield_from:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4177, __pyx_L1_error) + __pyx_L6_resume_from_yield_from:; + if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4203, __pyx_L1_error) } else { PyObject* exc_type = __Pyx_PyErr_Occurred(); if (exc_type) { if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(1, 4177, __pyx_L1_error) + else __PYX_ERR(1, 4203, __pyx_L1_error) } } - /* "dependency_injector/providers.pyx":4178 - * yield self.__provider + /* "dependency_injector/providers.pyx":4204 + * yield self.provides * yield from filter(is_provider, self.args) * yield from filter(is_provider, self.kwargs.values()) # <<<<<<<<<<<<<< * yield from super().related * */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4178, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_is_provider); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4204, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_self), __pyx_n_s_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_values); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4204, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); + __Pyx_DECREF_SET(__pyx_t_5, function); } } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4178, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4204, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); - __pyx_t_2 = 0; + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_filter, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4204, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XGOTREF(__pyx_r); if (likely(__pyx_r)) { __Pyx_XGIVEREF(__pyx_r); @@ -82085,39 +82383,39 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat /* return from generator, yielding value */ __pyx_generator->resume_label = 3; return __pyx_r; - __pyx_L6_resume_from_yield_from:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4178, __pyx_L1_error) + __pyx_L7_resume_from_yield_from:; + if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4204, __pyx_L1_error) } else { PyObject* exc_type = __Pyx_PyErr_Occurred(); if (exc_type) { if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(1, 4178, __pyx_L1_error) + else __PYX_ERR(1, 4204, __pyx_L1_error) } } - /* "dependency_injector/providers.pyx":4179 + /* "dependency_injector/providers.pyx":4205 * yield from filter(is_provider, self.args) * yield from filter(is_provider, self.kwargs.values()) * yield from super().related # <<<<<<<<<<<<<< * * cpdef object _provide(self, tuple args, dict kwargs): */ - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4179, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4205, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller)); - PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller)); + PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_MethodCaller)); __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_cur_scope->__pyx_v_self)); - PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self)); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4179, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_related); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4179, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_cur_scope->__pyx_v_self)); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4205, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_related); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4205, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_4); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __Pyx_Generator_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XGOTREF(__pyx_r); if (likely(__pyx_r)) { __Pyx_XGIVEREF(__pyx_r); @@ -82126,23 +82424,23 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat /* return from generator, yielding value */ __pyx_generator->resume_label = 4; return __pyx_r; - __pyx_L7_resume_from_yield_from:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4179, __pyx_L1_error) + __pyx_L8_resume_from_yield_from:; + if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4205, __pyx_L1_error) } else { PyObject* exc_type = __Pyx_PyErr_Occurred(); if (exc_type) { if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(1, 4179, __pyx_L1_error) + else __PYX_ERR(1, 4205, __pyx_L1_error) } } CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - /* "dependency_injector/providers.pyx":4174 + /* "dependency_injector/providers.pyx":4199 * * @property * def related(self): # <<<<<<<<<<<<<< * """Return related providers generator.""" - * yield self.__provider + * if is_provider(self.provides): */ /* function exit code */ @@ -82150,9 +82448,9 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("related", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_L0:; __Pyx_XDECREF(__pyx_r); __pyx_r = 0; @@ -82165,15 +82463,15 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_12MethodCaller_7relat return __pyx_r; } -/* "dependency_injector/providers.pyx":4181 +/* "dependency_injector/providers.pyx":4207 * yield from super().related * * cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<< - * call = self.__provider() + * call = self.provides() * if __is_future_or_coroutine(call): */ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_13_provide(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_19_provide(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provide(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs, int __pyx_skip_dispatch) { PyObject *__pyx_v_call = NULL; PyObject *__pyx_v_future_result = NULL; @@ -82201,9 +82499,9 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) { PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); #endif - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4181, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provide); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_12MethodCaller_13_provide)) { + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_19dependency_injector_9providers_12MethodCaller_19_provide)) { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL; @@ -82221,7 +82519,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4181, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4207, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -82229,13 +82527,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_args, __pyx_v_kwargs}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4181, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4207, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4181, __pyx_L1_error) + __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; @@ -82246,7 +82544,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid __Pyx_INCREF(__pyx_v_kwargs); __Pyx_GIVEREF(__pyx_v_kwargs); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_kwargs); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4181, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } @@ -82269,15 +82567,16 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid #endif } - /* "dependency_injector/providers.pyx":4182 + /* "dependency_injector/providers.pyx":4208 * * cpdef object _provide(self, tuple args, dict kwargs): - * call = self.__provider() # <<<<<<<<<<<<<< + * call = self.provides() # <<<<<<<<<<<<<< * if __is_future_or_coroutine(call): * future_result = asyncio.Future() */ - __Pyx_INCREF(((PyObject *)__pyx_v_self->__pyx___provider)); - __pyx_t_2 = ((PyObject *)__pyx_v_self->__pyx___provider); __pyx_t_3 = NULL; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_provides); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4208, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { @@ -82289,15 +82588,15 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4182, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_call = __pyx_t_1; __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4183 + /* "dependency_injector/providers.pyx":4209 * cpdef object _provide(self, tuple args, dict kwargs): - * call = self.__provider() + * call = self.provides() * if __is_future_or_coroutine(call): # <<<<<<<<<<<<<< * future_result = asyncio.Future() * call = asyncio.ensure_future(call) @@ -82305,16 +82604,16 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid __pyx_t_7 = (__pyx_f_19dependency_injector_9providers___is_future_or_coroutine(__pyx_v_call) != 0); if (__pyx_t_7) { - /* "dependency_injector/providers.pyx":4184 - * call = self.__provider() + /* "dependency_injector/providers.pyx":4210 + * call = self.provides() * if __is_future_or_coroutine(call): * future_result = asyncio.Future() # <<<<<<<<<<<<<< * call = asyncio.ensure_future(call) * call.add_done_callback(functools.partial(self._async_provide, future_result, args, kwargs)) */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4184, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4184, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Future); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -82329,22 +82628,22 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4184, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_future_result = __pyx_t_1; __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4185 + /* "dependency_injector/providers.pyx":4211 * if __is_future_or_coroutine(call): * future_result = asyncio.Future() * call = asyncio.ensure_future(call) # <<<<<<<<<<<<<< * call.add_done_callback(functools.partial(self._async_provide, future_result, args, kwargs)) * return future_result */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4185, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4185, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ensure_future); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -82359,27 +82658,27 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_call) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_call); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4185, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_call, __pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4186 + /* "dependency_injector/providers.pyx":4212 * future_result = asyncio.Future() * call = asyncio.ensure_future(call) * call.add_done_callback(functools.partial(self._async_provide, future_result, args, kwargs)) # <<<<<<<<<<<<<< * return future_result * return __call( */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_call, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4186, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_call, __pyx_n_s_add_done_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4186, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_functools); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4186, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_partial); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_provide); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4186, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_async_provide); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; __pyx_t_5 = 0; @@ -82396,7 +82695,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[5] = {__pyx_t_8, __pyx_t_6, __pyx_v_future_result, __pyx_v_args, __pyx_v_kwargs}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 4+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4186, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 4+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4212, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; @@ -82405,14 +82704,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[5] = {__pyx_t_8, __pyx_t_6, __pyx_v_future_result, __pyx_v_args, __pyx_v_kwargs}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 4+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4186, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 4+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4212, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { - __pyx_t_9 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 4186, __pyx_L1_error) + __pyx_t_9 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 4212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL; @@ -82429,7 +82728,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid __Pyx_GIVEREF(__pyx_v_kwargs); PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_5, __pyx_v_kwargs); __pyx_t_6 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4186, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -82447,12 +82746,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4186, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4187 + /* "dependency_injector/providers.pyx":4213 * call = asyncio.ensure_future(call) * call.add_done_callback(functools.partial(self._async_provide, future_result, args, kwargs)) * return future_result # <<<<<<<<<<<<<< @@ -82464,16 +82763,16 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid __pyx_r = __pyx_v_future_result; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4183 + /* "dependency_injector/providers.pyx":4209 * cpdef object _provide(self, tuple args, dict kwargs): - * call = self.__provider() + * call = self.provides() * if __is_future_or_coroutine(call): # <<<<<<<<<<<<<< * future_result = asyncio.Future() * call = asyncio.ensure_future(call) */ } - /* "dependency_injector/providers.pyx":4188 + /* "dependency_injector/providers.pyx":4214 * call.add_done_callback(functools.partial(self._async_provide, future_result, args, kwargs)) * return future_result * return __call( # <<<<<<<<<<<<<< @@ -82482,7 +82781,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid */ __Pyx_XDECREF(__pyx_r); - /* "dependency_injector/providers.pyx":4191 + /* "dependency_injector/providers.pyx":4217 * call, * args, * self.__args, # <<<<<<<<<<<<<< @@ -82492,7 +82791,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid __pyx_t_1 = __pyx_v_self->__pyx___args; __Pyx_INCREF(__pyx_t_1); - /* "dependency_injector/providers.pyx":4194 + /* "dependency_injector/providers.pyx":4220 * self.__args_len, * kwargs, * self.__kwargs, # <<<<<<<<<<<<<< @@ -82502,14 +82801,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid __pyx_t_2 = __pyx_v_self->__pyx___kwargs; __Pyx_INCREF(__pyx_t_2); - /* "dependency_injector/providers.pyx":4188 + /* "dependency_injector/providers.pyx":4214 * call.add_done_callback(functools.partial(self._async_provide, future_result, args, kwargs)) * return future_result * return __call( # <<<<<<<<<<<<<< * call, * args, */ - __pyx_t_3 = __pyx_f_19dependency_injector_9providers___call(__pyx_v_call, __pyx_v_args, ((PyObject*)__pyx_t_1), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4188, __pyx_L1_error) + __pyx_t_3 = __pyx_f_19dependency_injector_9providers___call(__pyx_v_call, __pyx_v_args, ((PyObject*)__pyx_t_1), __pyx_v_self->__pyx___args_len, __pyx_v_kwargs, ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -82517,11 +82816,11 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid __pyx_t_3 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4181 + /* "dependency_injector/providers.pyx":4207 * yield from super().related * * cpdef object _provide(self, tuple args, dict kwargs): # <<<<<<<<<<<<<< - * call = self.__provider() + * call = self.provides() * if __is_future_or_coroutine(call): */ @@ -82545,8 +82844,8 @@ static PyObject *__pyx_f_19dependency_injector_9providers_12MethodCaller__provid } /* Python wrapper */ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_13_provide(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_13_provide(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_19_provide(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_19_provide(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; int __pyx_lineno = 0; @@ -82578,11 +82877,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_13_pro case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 4181, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, 1); __PYX_ERR(1, 4207, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 4181, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_provide") < 0)) __PYX_ERR(1, 4207, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -82595,15 +82894,15 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_13_pro } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4181, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_provide", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4207, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("dependency_injector.providers.MethodCaller._provide", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4181, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4181, __pyx_L1_error) - __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_12_provide(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4207, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4207, __pyx_L1_error) + __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_18_provide(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); /* function exit code */ goto __pyx_L0; @@ -82614,7 +82913,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_13_pro return __pyx_r; } -static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_12_provide(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_18_provide(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -82623,7 +82922,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_12_pro int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_provide", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_19dependency_injector_9providers_12MethodCaller__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4181, __pyx_L1_error) + __pyx_t_1 = __pyx_f_19dependency_injector_9providers_12MethodCaller__provide(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -82640,7 +82939,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_12_pro return __pyx_r; } -/* "dependency_injector/providers.pyx":4198 +/* "dependency_injector/providers.pyx":4224 * ) * * def _async_provide(self, future_result, args, kwargs, future): # <<<<<<<<<<<<<< @@ -82649,8 +82948,8 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_12_pro */ /* Python wrapper */ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_15_async_provide(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_15_async_provide(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_21_async_provide(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_21_async_provide(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_future_result = 0; PyObject *__pyx_v_args = 0; PyObject *__pyx_v_kwargs = 0; @@ -82688,23 +82987,23 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_15_asy case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_args)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, 1); __PYX_ERR(1, 4198, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, 1); __PYX_ERR(1, 4224, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_kwargs)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, 2); __PYX_ERR(1, 4198, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, 2); __PYX_ERR(1, 4224, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_future)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, 3); __PYX_ERR(1, 4198, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, 3); __PYX_ERR(1, 4224, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_provide") < 0)) __PYX_ERR(1, 4198, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_async_provide") < 0)) __PYX_ERR(1, 4224, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -82721,20 +83020,20 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_15_asy } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4198, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_async_provide", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4224, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("dependency_injector.providers.MethodCaller._async_provide", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_14_async_provide(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self), __pyx_v_future_result, __pyx_v_args, __pyx_v_kwargs, __pyx_v_future); + __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_20_async_provide(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self), __pyx_v_future_result, __pyx_v_args, __pyx_v_kwargs, __pyx_v_future); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_14_async_provide(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_future_result, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs, PyObject *__pyx_v_future) { +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_20_async_provide(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v_future_result, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs, PyObject *__pyx_v_future) { PyObject *__pyx_v_call = NULL; PyObject *__pyx_v_result = NULL; PyObject *__pyx_r = NULL; @@ -82747,14 +83046,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_14_asy int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_async_provide", 0); - /* "dependency_injector/providers.pyx":4199 + /* "dependency_injector/providers.pyx":4225 * * def _async_provide(self, future_result, args, kwargs, future): * call = future.result() # <<<<<<<<<<<<<< * result = __call( * call, */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4199, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_future, __pyx_n_s_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -82768,22 +83067,22 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_14_asy } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4199, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_call = __pyx_t_1; __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4202 + /* "dependency_injector/providers.pyx":4228 * result = __call( * call, * args, # <<<<<<<<<<<<<< * self.__args, * self.__args_len, */ - if (!(likely(PyTuple_CheckExact(__pyx_v_args))||((__pyx_v_args) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_args)->tp_name), 0))) __PYX_ERR(1, 4202, __pyx_L1_error) + if (!(likely(PyTuple_CheckExact(__pyx_v_args))||((__pyx_v_args) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_args)->tp_name), 0))) __PYX_ERR(1, 4228, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4203 + /* "dependency_injector/providers.pyx":4229 * call, * args, * self.__args, # <<<<<<<<<<<<<< @@ -82793,16 +83092,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_14_asy __pyx_t_1 = __pyx_v_self->__pyx___args; __Pyx_INCREF(__pyx_t_1); - /* "dependency_injector/providers.pyx":4205 + /* "dependency_injector/providers.pyx":4231 * self.__args, * self.__args_len, * kwargs, # <<<<<<<<<<<<<< * self.__kwargs, * self.__kwargs_len, */ - if (!(likely(PyDict_CheckExact(__pyx_v_kwargs))||((__pyx_v_kwargs) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_kwargs)->tp_name), 0))) __PYX_ERR(1, 4205, __pyx_L1_error) + if (!(likely(PyDict_CheckExact(__pyx_v_kwargs))||((__pyx_v_kwargs) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_kwargs)->tp_name), 0))) __PYX_ERR(1, 4231, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4206 + /* "dependency_injector/providers.pyx":4232 * self.__args_len, * kwargs, * self.__kwargs, # <<<<<<<<<<<<<< @@ -82812,28 +83111,28 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_14_asy __pyx_t_2 = __pyx_v_self->__pyx___kwargs; __Pyx_INCREF(__pyx_t_2); - /* "dependency_injector/providers.pyx":4200 + /* "dependency_injector/providers.pyx":4226 * def _async_provide(self, future_result, args, kwargs, future): * call = future.result() * result = __call( # <<<<<<<<<<<<<< * call, * args, */ - __pyx_t_3 = __pyx_f_19dependency_injector_9providers___call(__pyx_v_call, ((PyObject*)__pyx_v_args), ((PyObject*)__pyx_t_1), __pyx_v_self->__pyx___args_len, ((PyObject*)__pyx_v_kwargs), ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4200, __pyx_L1_error) + __pyx_t_3 = __pyx_f_19dependency_injector_9providers___call(__pyx_v_call, ((PyObject*)__pyx_v_args), ((PyObject*)__pyx_t_1), __pyx_v_self->__pyx___args_len, ((PyObject*)__pyx_v_kwargs), ((PyObject*)__pyx_t_2), __pyx_v_self->__pyx___kwargs_len); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_result = __pyx_t_3; __pyx_t_3 = 0; - /* "dependency_injector/providers.pyx":4209 + /* "dependency_injector/providers.pyx":4235 * self.__kwargs_len, * ) * future_result.set_result(result) # <<<<<<<<<<<<<< * * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4209, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_future_result, __pyx_n_s_set_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -82847,12 +83146,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_14_asy } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_result) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_result); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4209, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "dependency_injector/providers.pyx":4198 + /* "dependency_injector/providers.pyx":4224 * ) * * def _async_provide(self, future_result, args, kwargs, future): # <<<<<<<<<<<<<< @@ -82884,19 +83183,19 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_14_asy */ /* Python wrapper */ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_17__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_17__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_23__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_23__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); - __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_16__reduce_cython__(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self)); + __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_22__reduce_cython__(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16__reduce_cython__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self) { +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_22__reduce_cython__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self) { PyObject *__pyx_v_state = 0; PyObject *__pyx_v__dict = 0; int __pyx_v_use_setstate; @@ -82917,7 +83216,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16__re /* "(tree fragment)":5 * cdef object _dict * cdef bint use_setstate - * state = (self.__args, self.__args_len, self.__async_mode, self.__kwargs, self.__kwargs_len, self.__last_overriding, self.__overridden, self.__provider) # <<<<<<<<<<<<<< + * state = (self.__args, self.__args_len, self.__async_mode, self.__kwargs, self.__kwargs_len, self.__last_overriding, self.__overridden, self.__provides) # <<<<<<<<<<<<<< * _dict = getattr(self, '__dict__', None) * if _dict is not None: */ @@ -82947,9 +83246,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16__re __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx___overridden); __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx___overridden); PyTuple_SET_ITEM(__pyx_t_4, 6, __pyx_v_self->__pyx_base.__pyx___overridden); - __Pyx_INCREF(((PyObject *)__pyx_v_self->__pyx___provider)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_self->__pyx___provider)); - PyTuple_SET_ITEM(__pyx_t_4, 7, ((PyObject *)__pyx_v_self->__pyx___provider)); + __Pyx_INCREF(__pyx_v_self->__pyx___provides); + __Pyx_GIVEREF(__pyx_v_self->__pyx___provides); + PyTuple_SET_ITEM(__pyx_t_4, 7, __pyx_v_self->__pyx___provides); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; @@ -82958,7 +83257,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16__re /* "(tree fragment)":6 * cdef bint use_setstate - * state = (self.__args, self.__args_len, self.__async_mode, self.__kwargs, self.__kwargs_len, self.__last_overriding, self.__overridden, self.__provider) + * state = (self.__args, self.__args_len, self.__async_mode, self.__kwargs, self.__kwargs_len, self.__last_overriding, self.__overridden, self.__provides) * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< * if _dict is not None: * state += (_dict,) @@ -82969,7 +83268,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16__re __pyx_t_4 = 0; /* "(tree fragment)":7 - * state = (self.__args, self.__args_len, self.__async_mode, self.__kwargs, self.__kwargs_len, self.__last_overriding, self.__overridden, self.__provider) + * state = (self.__args, self.__args_len, self.__async_mode, self.__kwargs, self.__kwargs_len, self.__last_overriding, self.__overridden, self.__provides) * _dict = getattr(self, '__dict__', None) * if _dict is not None: # <<<<<<<<<<<<<< * state += (_dict,) @@ -83002,12 +83301,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16__re * state += (_dict,) * use_setstate = True # <<<<<<<<<<<<<< * else: - * use_setstate = self.__args is not None or self.__kwargs is not None or self.__last_overriding is not None or self.__overridden is not None or self.__provider is not None + * use_setstate = self.__args is not None or self.__kwargs is not None or self.__last_overriding is not None or self.__overridden is not None or self.__provides is not None */ __pyx_v_use_setstate = 1; /* "(tree fragment)":7 - * state = (self.__args, self.__args_len, self.__async_mode, self.__kwargs, self.__kwargs_len, self.__last_overriding, self.__overridden, self.__provider) + * state = (self.__args, self.__args_len, self.__async_mode, self.__kwargs, self.__kwargs_len, self.__last_overriding, self.__overridden, self.__provides) * _dict = getattr(self, '__dict__', None) * if _dict is not None: # <<<<<<<<<<<<<< * state += (_dict,) @@ -83019,9 +83318,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16__re /* "(tree fragment)":11 * use_setstate = True * else: - * use_setstate = self.__args is not None or self.__kwargs is not None or self.__last_overriding is not None or self.__overridden is not None or self.__provider is not None # <<<<<<<<<<<<<< + * use_setstate = self.__args is not None or self.__kwargs is not None or self.__last_overriding is not None or self.__overridden is not None or self.__provides is not None # <<<<<<<<<<<<<< * if use_setstate: - * return __pyx_unpickle_MethodCaller, (type(self), 0xe57552f, None), state + * return __pyx_unpickle_MethodCaller, (type(self), 0x3e02ba6, None), state */ /*else*/ { __pyx_t_5 = (__pyx_v_self->__pyx___args != ((PyObject*)Py_None)); @@ -83052,7 +83351,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16__re __pyx_t_6 = __pyx_t_5; goto __pyx_L4_bool_binop_done; } - __pyx_t_5 = (((PyObject *)__pyx_v_self->__pyx___provider) != Py_None); + __pyx_t_5 = (__pyx_v_self->__pyx___provides != Py_None); __pyx_t_7 = (__pyx_t_5 != 0); __pyx_t_6 = __pyx_t_7; __pyx_L4_bool_binop_done:; @@ -83062,20 +83361,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16__re /* "(tree fragment)":12 * else: - * use_setstate = self.__args is not None or self.__kwargs is not None or self.__last_overriding is not None or self.__overridden is not None or self.__provider is not None + * use_setstate = self.__args is not None or self.__kwargs is not None or self.__last_overriding is not None or self.__overridden is not None or self.__provides is not None * if use_setstate: # <<<<<<<<<<<<<< - * return __pyx_unpickle_MethodCaller, (type(self), 0xe57552f, None), state + * return __pyx_unpickle_MethodCaller, (type(self), 0x3e02ba6, None), state * else: */ __pyx_t_6 = (__pyx_v_use_setstate != 0); if (__pyx_t_6) { /* "(tree fragment)":13 - * use_setstate = self.__args is not None or self.__kwargs is not None or self.__last_overriding is not None or self.__overridden is not None or self.__provider is not None + * use_setstate = self.__args is not None or self.__kwargs is not None or self.__last_overriding is not None or self.__overridden is not None or self.__provides is not None * if use_setstate: - * return __pyx_unpickle_MethodCaller, (type(self), 0xe57552f, None), state # <<<<<<<<<<<<<< + * return __pyx_unpickle_MethodCaller, (type(self), 0x3e02ba6, None), state # <<<<<<<<<<<<<< * else: - * return __pyx_unpickle_MethodCaller, (type(self), 0xe57552f, state) + * return __pyx_unpickle_MethodCaller, (type(self), 0x3e02ba6, state) */ __Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_MethodCaller); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 13, __pyx_L1_error) @@ -83085,9 +83384,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16__re __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - __Pyx_INCREF(__pyx_int_240604463); - __Pyx_GIVEREF(__pyx_int_240604463); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_240604463); + __Pyx_INCREF(__pyx_int_65022886); + __Pyx_GIVEREF(__pyx_int_65022886); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_65022886); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); @@ -83108,17 +83407,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16__re /* "(tree fragment)":12 * else: - * use_setstate = self.__args is not None or self.__kwargs is not None or self.__last_overriding is not None or self.__overridden is not None or self.__provider is not None + * use_setstate = self.__args is not None or self.__kwargs is not None or self.__last_overriding is not None or self.__overridden is not None or self.__provides is not None * if use_setstate: # <<<<<<<<<<<<<< - * return __pyx_unpickle_MethodCaller, (type(self), 0xe57552f, None), state + * return __pyx_unpickle_MethodCaller, (type(self), 0x3e02ba6, None), state * else: */ } /* "(tree fragment)":15 - * return __pyx_unpickle_MethodCaller, (type(self), 0xe57552f, None), state + * return __pyx_unpickle_MethodCaller, (type(self), 0x3e02ba6, None), state * else: - * return __pyx_unpickle_MethodCaller, (type(self), 0xe57552f, state) # <<<<<<<<<<<<<< + * return __pyx_unpickle_MethodCaller, (type(self), 0x3e02ba6, state) # <<<<<<<<<<<<<< * def __setstate_cython__(self, __pyx_state): * __pyx_unpickle_MethodCaller__set_state(self, __pyx_state) */ @@ -83131,9 +83430,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16__re __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); - __Pyx_INCREF(__pyx_int_240604463); - __Pyx_GIVEREF(__pyx_int_240604463); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_240604463); + __Pyx_INCREF(__pyx_int_65022886); + __Pyx_GIVEREF(__pyx_int_65022886); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_65022886); __Pyx_INCREF(__pyx_v_state); __Pyx_GIVEREF(__pyx_v_state); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state); @@ -83174,25 +83473,25 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_16__re /* "(tree fragment)":16 * else: - * return __pyx_unpickle_MethodCaller, (type(self), 0xe57552f, state) + * return __pyx_unpickle_MethodCaller, (type(self), 0x3e02ba6, state) * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_MethodCaller__set_state(self, __pyx_state) */ /* Python wrapper */ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_19__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ -static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_19__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_25__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_19dependency_injector_9providers_12MethodCaller_25__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); - __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_18__setstate_cython__(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + __pyx_r = __pyx_pf_19dependency_injector_9providers_12MethodCaller_24__setstate_cython__(((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_18__setstate_cython__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v___pyx_state) { +static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_24__setstate_cython__(struct __pyx_obj_19dependency_injector_9providers_MethodCaller *__pyx_v_self, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -83202,7 +83501,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_18__se __Pyx_RefNannySetupContext("__setstate_cython__", 0); /* "(tree fragment)":17 - * return __pyx_unpickle_MethodCaller, (type(self), 0xe57552f, state) + * return __pyx_unpickle_MethodCaller, (type(self), 0x3e02ba6, state) * def __setstate_cython__(self, __pyx_state): * __pyx_unpickle_MethodCaller__set_state(self, __pyx_state) # <<<<<<<<<<<<<< */ @@ -83213,7 +83512,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12MethodCaller_18__se /* "(tree fragment)":16 * else: - * return __pyx_unpickle_MethodCaller, (type(self), 0xe57552f, state) + * return __pyx_unpickle_MethodCaller, (type(self), 0x3e02ba6, state) * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * __pyx_unpickle_MethodCaller__set_state(self, __pyx_state) */ @@ -83541,7 +83840,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_9Injection_2__setstat return __pyx_r; } -/* "dependency_injector/providers.pyx":4219 +/* "dependency_injector/providers.pyx":4245 * """Positional injection class.""" * * def __init__(self, value): # <<<<<<<<<<<<<< @@ -83582,7 +83881,7 @@ static int __pyx_pw_19dependency_injector_9providers_19PositionalInjection_1__in else goto __pyx_L5_argtuple_error; } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4219, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4245, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { goto __pyx_L5_argtuple_error; @@ -83593,7 +83892,7 @@ static int __pyx_pw_19dependency_injector_9providers_19PositionalInjection_1__in } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4219, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4245, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("dependency_injector.providers.PositionalInjection.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -83619,7 +83918,7 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__init__", 0); - /* "dependency_injector/providers.pyx":4221 + /* "dependency_injector/providers.pyx":4247 * def __init__(self, value): * """Initializer.""" * self.__value = value # <<<<<<<<<<<<<< @@ -83632,7 +83931,7 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini __Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___value); __pyx_v_self->__pyx_base.__pyx___value = __pyx_v_value; - /* "dependency_injector/providers.pyx":4222 + /* "dependency_injector/providers.pyx":4248 * """Initializer.""" * self.__value = value * self.__is_provider = is_provider(value) # <<<<<<<<<<<<<< @@ -83641,7 +83940,7 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini */ __pyx_v_self->__pyx_base.__pyx___is_provider = ((int)__pyx_f_19dependency_injector_9providers_is_provider(__pyx_v_value, 0)); - /* "dependency_injector/providers.pyx":4223 + /* "dependency_injector/providers.pyx":4249 * self.__value = value * self.__is_provider = is_provider(value) * self.__is_delegated = is_delegated(value) # <<<<<<<<<<<<<< @@ -83650,7 +83949,7 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini */ __pyx_v_self->__pyx_base.__pyx___is_delegated = ((int)__pyx_f_19dependency_injector_9providers_is_delegated(__pyx_v_value, 0)); - /* "dependency_injector/providers.pyx":4224 + /* "dependency_injector/providers.pyx":4250 * self.__is_provider = is_provider(value) * self.__is_delegated = is_delegated(value) * self.__call = (self.__is_provider == 1 and # <<<<<<<<<<<<<< @@ -83664,7 +83963,7 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini goto __pyx_L3_bool_binop_done; } - /* "dependency_injector/providers.pyx":4225 + /* "dependency_injector/providers.pyx":4251 * self.__is_delegated = is_delegated(value) * self.__call = (self.__is_provider == 1 and * self.__is_delegated == 0) # <<<<<<<<<<<<<< @@ -83675,7 +83974,7 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini __pyx_t_1 = __pyx_t_2; __pyx_L3_bool_binop_done:; - /* "dependency_injector/providers.pyx":4224 + /* "dependency_injector/providers.pyx":4250 * self.__is_provider = is_provider(value) * self.__is_delegated = is_delegated(value) * self.__call = (self.__is_provider == 1 and # <<<<<<<<<<<<<< @@ -83684,14 +83983,14 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini */ __pyx_v_self->__pyx_base.__pyx___call = ((int)__pyx_t_1); - /* "dependency_injector/providers.pyx":4226 + /* "dependency_injector/providers.pyx":4252 * self.__call = (self.__is_provider == 1 and * self.__is_delegated == 0) * super(PositionalInjection, self).__init__() # <<<<<<<<<<<<<< * * def __deepcopy__(self, memo): */ - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4226, __pyx_L1_error) + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_PositionalInjection)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_PositionalInjection)); @@ -83699,10 +83998,10 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_self)); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4226, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_init); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4226, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_init); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -83717,12 +84016,12 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4226, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "dependency_injector/providers.pyx":4219 + /* "dependency_injector/providers.pyx":4245 * """Positional injection class.""" * * def __init__(self, value): # <<<<<<<<<<<<<< @@ -83744,7 +84043,7 @@ static int __pyx_pf_19dependency_injector_9providers_19PositionalInjection___ini return __pyx_r; } -/* "dependency_injector/providers.pyx":4228 +/* "dependency_injector/providers.pyx":4254 * super(PositionalInjection, self).__init__() * * def __deepcopy__(self, memo): # <<<<<<<<<<<<<< @@ -83782,16 +84081,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__deepcopy__", 0); - /* "dependency_injector/providers.pyx":4230 + /* "dependency_injector/providers.pyx":4256 * def __deepcopy__(self, memo): * """Create and return full copy of provider.""" * copied = memo.get(id(self)) # <<<<<<<<<<<<<< * if copied is not None: * return copied */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4230, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4230, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -83806,13 +84105,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4230, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_copied = __pyx_t_1; __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4231 + /* "dependency_injector/providers.pyx":4257 * """Create and return full copy of provider.""" * copied = memo.get(id(self)) * if copied is not None: # <<<<<<<<<<<<<< @@ -83823,7 +84122,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection __pyx_t_6 = (__pyx_t_5 != 0); if (__pyx_t_6) { - /* "dependency_injector/providers.pyx":4232 + /* "dependency_injector/providers.pyx":4258 * copied = memo.get(id(self)) * if copied is not None: * return copied # <<<<<<<<<<<<<< @@ -83835,7 +84134,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection __pyx_r = __pyx_v_copied; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4231 + /* "dependency_injector/providers.pyx":4257 * """Create and return full copy of provider.""" * copied = memo.get(id(self)) * if copied is not None: # <<<<<<<<<<<<<< @@ -83844,7 +84143,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection */ } - /* "dependency_injector/providers.pyx":4233 + /* "dependency_injector/providers.pyx":4259 * if copied is not None: * return copied * return self.__class__(deepcopy(self.__value, memo)) # <<<<<<<<<<<<<< @@ -83852,14 +84151,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection * def get_value(self): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4233, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_v_self->__pyx_base.__pyx___value; __Pyx_INCREF(__pyx_t_3); - if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4233, __pyx_L1_error) + if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4259, __pyx_L1_error) __pyx_t_7.__pyx_n = 1; __pyx_t_7.memo = ((PyObject*)__pyx_v_memo); - __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4233, __pyx_L1_error) + __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -83875,14 +84174,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4233, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4228 + /* "dependency_injector/providers.pyx":4254 * super(PositionalInjection, self).__init__() * * def __deepcopy__(self, memo): # <<<<<<<<<<<<<< @@ -83905,7 +84204,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection return __pyx_r; } -/* "dependency_injector/providers.pyx":4235 +/* "dependency_injector/providers.pyx":4261 * return self.__class__(deepcopy(self.__value, memo)) * * def get_value(self): # <<<<<<<<<<<<<< @@ -83936,7 +84235,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_value", 0); - /* "dependency_injector/providers.pyx":4237 + /* "dependency_injector/providers.pyx":4263 * def get_value(self): * """Return injection value.""" * return __get_value(self) # <<<<<<<<<<<<<< @@ -83944,13 +84243,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection * def get_original_value(self): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4237, __pyx_L1_error) + __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4235 + /* "dependency_injector/providers.pyx":4261 * return self.__class__(deepcopy(self.__value, memo)) * * def get_value(self): # <<<<<<<<<<<<<< @@ -83969,7 +84268,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection return __pyx_r; } -/* "dependency_injector/providers.pyx":4239 +/* "dependency_injector/providers.pyx":4265 * return __get_value(self) * * def get_original_value(self): # <<<<<<<<<<<<<< @@ -83996,7 +84295,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("get_original_value", 0); - /* "dependency_injector/providers.pyx":4241 + /* "dependency_injector/providers.pyx":4267 * def get_original_value(self): * """Return original value.""" * return self.__value # <<<<<<<<<<<<<< @@ -84008,7 +84307,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection __pyx_r = __pyx_v_self->__pyx_base.__pyx___value; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4239 + /* "dependency_injector/providers.pyx":4265 * return __get_value(self) * * def get_original_value(self): # <<<<<<<<<<<<<< @@ -84333,7 +84632,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_19PositionalInjection return __pyx_r; } -/* "dependency_injector/providers.pyx":4247 +/* "dependency_injector/providers.pyx":4273 * """Keyword injection class.""" * * def __init__(self, name, value): # <<<<<<<<<<<<<< @@ -84379,11 +84678,11 @@ static int __pyx_pw_19dependency_injector_9providers_14NamedInjection_1__init__( case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 4247, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 4273, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4247, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4273, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -84396,7 +84695,7 @@ static int __pyx_pw_19dependency_injector_9providers_14NamedInjection_1__init__( } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4247, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4273, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("dependency_injector.providers.NamedInjection.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -84422,7 +84721,7 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__init__", 0); - /* "dependency_injector/providers.pyx":4249 + /* "dependency_injector/providers.pyx":4275 * def __init__(self, name, value): * """Initializer.""" * self.__name = name # <<<<<<<<<<<<<< @@ -84435,7 +84734,7 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s __Pyx_DECREF(__pyx_v_self->__pyx___name); __pyx_v_self->__pyx___name = __pyx_v_name; - /* "dependency_injector/providers.pyx":4250 + /* "dependency_injector/providers.pyx":4276 * """Initializer.""" * self.__name = name * self.__value = value # <<<<<<<<<<<<<< @@ -84448,7 +84747,7 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s __Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___value); __pyx_v_self->__pyx_base.__pyx___value = __pyx_v_value; - /* "dependency_injector/providers.pyx":4251 + /* "dependency_injector/providers.pyx":4277 * self.__name = name * self.__value = value * self.__is_provider = is_provider(value) # <<<<<<<<<<<<<< @@ -84457,7 +84756,7 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s */ __pyx_v_self->__pyx_base.__pyx___is_provider = ((int)__pyx_f_19dependency_injector_9providers_is_provider(__pyx_v_value, 0)); - /* "dependency_injector/providers.pyx":4252 + /* "dependency_injector/providers.pyx":4278 * self.__value = value * self.__is_provider = is_provider(value) * self.__is_delegated = is_delegated(value) # <<<<<<<<<<<<<< @@ -84466,7 +84765,7 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s */ __pyx_v_self->__pyx_base.__pyx___is_delegated = ((int)__pyx_f_19dependency_injector_9providers_is_delegated(__pyx_v_value, 0)); - /* "dependency_injector/providers.pyx":4253 + /* "dependency_injector/providers.pyx":4279 * self.__is_provider = is_provider(value) * self.__is_delegated = is_delegated(value) * self.__call = (self.__is_provider == 1 and # <<<<<<<<<<<<<< @@ -84480,7 +84779,7 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s goto __pyx_L3_bool_binop_done; } - /* "dependency_injector/providers.pyx":4254 + /* "dependency_injector/providers.pyx":4280 * self.__is_delegated = is_delegated(value) * self.__call = (self.__is_provider == 1 and * self.__is_delegated == 0) # <<<<<<<<<<<<<< @@ -84491,7 +84790,7 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s __pyx_t_1 = __pyx_t_2; __pyx_L3_bool_binop_done:; - /* "dependency_injector/providers.pyx":4253 + /* "dependency_injector/providers.pyx":4279 * self.__is_provider = is_provider(value) * self.__is_delegated = is_delegated(value) * self.__call = (self.__is_provider == 1 and # <<<<<<<<<<<<<< @@ -84500,14 +84799,14 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s */ __pyx_v_self->__pyx_base.__pyx___call = ((int)__pyx_t_1); - /* "dependency_injector/providers.pyx":4255 + /* "dependency_injector/providers.pyx":4281 * self.__call = (self.__is_provider == 1 and * self.__is_delegated == 0) * super(NamedInjection, self).__init__() # <<<<<<<<<<<<<< * * def __deepcopy__(self, memo): */ - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4255, __pyx_L1_error) + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_NamedInjection)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_NamedInjection)); @@ -84515,10 +84814,10 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_self)); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4255, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_init); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4255, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_init); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -84533,12 +84832,12 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4255, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "dependency_injector/providers.pyx":4247 + /* "dependency_injector/providers.pyx":4273 * """Keyword injection class.""" * * def __init__(self, name, value): # <<<<<<<<<<<<<< @@ -84560,7 +84859,7 @@ static int __pyx_pf_19dependency_injector_9providers_14NamedInjection___init__(s return __pyx_r; } -/* "dependency_injector/providers.pyx":4257 +/* "dependency_injector/providers.pyx":4283 * super(NamedInjection, self).__init__() * * def __deepcopy__(self, memo): # <<<<<<<<<<<<<< @@ -84601,16 +84900,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__deepcopy__", 0); - /* "dependency_injector/providers.pyx":4259 + /* "dependency_injector/providers.pyx":4285 * def __deepcopy__(self, memo): * """Create and return full copy of provider.""" * copied = memo.get(id(self)) # <<<<<<<<<<<<<< * if copied is not None: * return copied */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4259, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_memo, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4259, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -84625,13 +84924,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4259, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_copied = __pyx_t_1; __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4260 + /* "dependency_injector/providers.pyx":4286 * """Create and return full copy of provider.""" * copied = memo.get(id(self)) * if copied is not None: # <<<<<<<<<<<<<< @@ -84642,7 +84941,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d __pyx_t_6 = (__pyx_t_5 != 0); if (__pyx_t_6) { - /* "dependency_injector/providers.pyx":4261 + /* "dependency_injector/providers.pyx":4287 * copied = memo.get(id(self)) * if copied is not None: * return copied # <<<<<<<<<<<<<< @@ -84654,7 +84953,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d __pyx_r = __pyx_v_copied; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4260 + /* "dependency_injector/providers.pyx":4286 * """Create and return full copy of provider.""" * copied = memo.get(id(self)) * if copied is not None: # <<<<<<<<<<<<<< @@ -84663,7 +84962,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d */ } - /* "dependency_injector/providers.pyx":4262 + /* "dependency_injector/providers.pyx":4288 * if copied is not None: * return copied * return self.__class__(deepcopy(self.__name, memo), # <<<<<<<<<<<<<< @@ -84671,18 +84970,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4262, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_v_self->__pyx___name; __Pyx_INCREF(__pyx_t_3); - if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4262, __pyx_L1_error) + if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4288, __pyx_L1_error) __pyx_t_7.__pyx_n = 1; __pyx_t_7.memo = ((PyObject*)__pyx_v_memo); - __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4262, __pyx_L1_error) + __pyx_t_4 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "dependency_injector/providers.pyx":4263 + /* "dependency_injector/providers.pyx":4289 * return copied * return self.__class__(deepcopy(self.__name, memo), * deepcopy(self.__value, memo)) # <<<<<<<<<<<<<< @@ -84691,10 +84990,10 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d */ __pyx_t_3 = __pyx_v_self->__pyx_base.__pyx___value; __Pyx_INCREF(__pyx_t_3); - if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4263, __pyx_L1_error) + if (!(likely(PyDict_CheckExact(__pyx_v_memo))||((__pyx_v_memo) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_memo)->tp_name), 0))) __PYX_ERR(1, 4289, __pyx_L1_error) __pyx_t_7.__pyx_n = 1; __pyx_t_7.memo = ((PyObject*)__pyx_v_memo); - __pyx_t_8 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4263, __pyx_L1_error) + __pyx_t_8 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -84712,7 +85011,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_4, __pyx_t_8}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4262, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4288, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; @@ -84722,7 +85021,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_4, __pyx_t_8}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4262, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4288, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; @@ -84730,7 +85029,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d } else #endif { - __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 4262, __pyx_L1_error) + __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 4288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -84741,7 +85040,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_8); __pyx_t_4 = 0; __pyx_t_8 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4262, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } @@ -84750,7 +85049,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d __pyx_t_1 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4257 + /* "dependency_injector/providers.pyx":4283 * super(NamedInjection, self).__init__() * * def __deepcopy__(self, memo): # <<<<<<<<<<<<<< @@ -84775,7 +85074,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_2__d return __pyx_r; } -/* "dependency_injector/providers.pyx":4265 +/* "dependency_injector/providers.pyx":4291 * deepcopy(self.__value, memo)) * * def get_name(self): # <<<<<<<<<<<<<< @@ -84806,7 +85105,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_4get int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_name", 0); - /* "dependency_injector/providers.pyx":4267 + /* "dependency_injector/providers.pyx":4293 * def get_name(self): * """Return injection value.""" * return __get_name(self) # <<<<<<<<<<<<<< @@ -84814,13 +85113,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_4get * def get_value(self): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4267, __pyx_L1_error) + __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_name(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4265 + /* "dependency_injector/providers.pyx":4291 * deepcopy(self.__value, memo)) * * def get_name(self): # <<<<<<<<<<<<<< @@ -84839,7 +85138,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_4get return __pyx_r; } -/* "dependency_injector/providers.pyx":4269 +/* "dependency_injector/providers.pyx":4295 * return __get_name(self) * * def get_value(self): # <<<<<<<<<<<<<< @@ -84870,7 +85169,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_6get int __pyx_clineno = 0; __Pyx_RefNannySetupContext("get_value", 0); - /* "dependency_injector/providers.pyx":4271 + /* "dependency_injector/providers.pyx":4297 * def get_value(self): * """Return injection value.""" * return __get_value(self) # <<<<<<<<<<<<<< @@ -84878,13 +85177,13 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_6get * def get_original_value(self): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4271, __pyx_L1_error) + __pyx_t_1 = __pyx_f_19dependency_injector_9providers___get_value(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4269 + /* "dependency_injector/providers.pyx":4295 * return __get_name(self) * * def get_value(self): # <<<<<<<<<<<<<< @@ -84903,7 +85202,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_6get return __pyx_r; } -/* "dependency_injector/providers.pyx":4273 +/* "dependency_injector/providers.pyx":4299 * return __get_value(self) * * def get_original_value(self): # <<<<<<<<<<<<<< @@ -84930,7 +85229,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_8get __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("get_original_value", 0); - /* "dependency_injector/providers.pyx":4275 + /* "dependency_injector/providers.pyx":4301 * def get_original_value(self): * """Return original value.""" * return self.__value # <<<<<<<<<<<<<< @@ -84942,7 +85241,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_8get __pyx_r = __pyx_v_self->__pyx_base.__pyx___value; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4273 + /* "dependency_injector/providers.pyx":4299 * return __get_value(self) * * def get_original_value(self): # <<<<<<<<<<<<<< @@ -85281,7 +85580,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14NamedInjection_12__ return __pyx_r; } -/* "dependency_injector/providers.pyx":4280 +/* "dependency_injector/providers.pyx":4306 * @cython.boundscheck(False) * @cython.wraparound(False) * cpdef tuple parse_positional_injections(tuple args): # <<<<<<<<<<<<<< @@ -85309,19 +85608,19 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_positional_injec int __pyx_clineno = 0; __Pyx_RefNannySetupContext("parse_positional_injections", 0); - /* "dependency_injector/providers.pyx":4282 + /* "dependency_injector/providers.pyx":4308 * cpdef tuple parse_positional_injections(tuple args): * """Parse positional injections.""" * cdef list injections = list() # <<<<<<<<<<<<<< * cdef int args_len = len(args) * */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4282, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_injections = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4283 + /* "dependency_injector/providers.pyx":4309 * """Parse positional injections.""" * cdef list injections = list() * cdef int args_len = len(args) # <<<<<<<<<<<<<< @@ -85330,12 +85629,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_positional_injec */ if (unlikely(__pyx_v_args == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); - __PYX_ERR(1, 4283, __pyx_L1_error) + __PYX_ERR(1, 4309, __pyx_L1_error) } - __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4283, __pyx_L1_error) + __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4309, __pyx_L1_error) __pyx_v_args_len = __pyx_t_2; - /* "dependency_injector/providers.pyx":4289 + /* "dependency_injector/providers.pyx":4315 * cdef PositionalInjection injection * * for index in range(args_len): # <<<<<<<<<<<<<< @@ -85347,7 +85646,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_positional_injec for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_index = __pyx_t_5; - /* "dependency_injector/providers.pyx":4290 + /* "dependency_injector/providers.pyx":4316 * * for index in range(args_len): * arg = args[index] # <<<<<<<<<<<<<< @@ -85356,36 +85655,36 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_positional_injec */ if (unlikely(__pyx_v_args == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(1, 4290, __pyx_L1_error) + __PYX_ERR(1, 4316, __pyx_L1_error) } __pyx_t_1 = PyTuple_GET_ITEM(__pyx_v_args, __pyx_v_index); __Pyx_INCREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_arg, __pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4291 + /* "dependency_injector/providers.pyx":4317 * for index in range(args_len): * arg = args[index] * injection = PositionalInjection(arg) # <<<<<<<<<<<<<< * injections.append(injection) * */ - __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_PositionalInjection), __pyx_v_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4291, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_19dependency_injector_9providers_PositionalInjection), __pyx_v_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_injection, ((struct __pyx_obj_19dependency_injector_9providers_PositionalInjection *)__pyx_t_1)); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4292 + /* "dependency_injector/providers.pyx":4318 * arg = args[index] * injection = PositionalInjection(arg) * injections.append(injection) # <<<<<<<<<<<<<< * * return tuple(injections) */ - __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_injections, ((PyObject *)__pyx_v_injection)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 4292, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_injections, ((PyObject *)__pyx_v_injection)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(1, 4318, __pyx_L1_error) } - /* "dependency_injector/providers.pyx":4294 + /* "dependency_injector/providers.pyx":4320 * injections.append(injection) * * return tuple(injections) # <<<<<<<<<<<<<< @@ -85393,13 +85692,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_positional_injec * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyList_AsTuple(__pyx_v_injections); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4294, __pyx_L1_error) + __pyx_t_1 = PyList_AsTuple(__pyx_v_injections); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4280 + /* "dependency_injector/providers.pyx":4306 * @cython.boundscheck(False) * @cython.wraparound(False) * cpdef tuple parse_positional_injections(tuple args): # <<<<<<<<<<<<<< @@ -85431,7 +85730,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_7parse_positional_inj PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse_positional_injections (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4280, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(1, 4306, __pyx_L1_error) __pyx_r = __pyx_pf_19dependency_injector_9providers_6parse_positional_injections(__pyx_self, ((PyObject*)__pyx_v_args)); /* function exit code */ @@ -85452,7 +85751,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6parse_positional_inj int __pyx_clineno = 0; __Pyx_RefNannySetupContext("parse_positional_injections", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4280, __pyx_L1_error) + __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_positional_injections(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -85469,7 +85768,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_6parse_positional_inj return __pyx_r; } -/* "dependency_injector/providers.pyx":4299 +/* "dependency_injector/providers.pyx":4325 * @cython.boundscheck(False) * @cython.wraparound(False) * cpdef tuple parse_named_injections(dict kwargs): # <<<<<<<<<<<<<< @@ -85499,19 +85798,19 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections int __pyx_clineno = 0; __Pyx_RefNannySetupContext("parse_named_injections", 0); - /* "dependency_injector/providers.pyx":4301 + /* "dependency_injector/providers.pyx":4327 * cpdef tuple parse_named_injections(dict kwargs): * """Parse named injections.""" * cdef list injections = list() # <<<<<<<<<<<<<< * * cdef object name */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4301, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_injections = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4307 + /* "dependency_injector/providers.pyx":4333 * cdef NamedInjection injection * * for name, arg in kwargs.items(): # <<<<<<<<<<<<<< @@ -85520,17 +85819,17 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections */ if (unlikely(__pyx_v_kwargs == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items"); - __PYX_ERR(1, 4307, __pyx_L1_error) + __PYX_ERR(1, 4333, __pyx_L1_error) } - __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4307, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { - __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4307, __pyx_L1_error) + __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4307, __pyx_L1_error) + __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4333, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { @@ -85538,17 +85837,17 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4307, __pyx_L1_error) + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4333, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4307, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4307, __pyx_L1_error) + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4333, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4307, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } @@ -85558,7 +85857,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(1, 4307, __pyx_L1_error) + else __PYX_ERR(1, 4333, __pyx_L1_error) } break; } @@ -85570,7 +85869,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(1, 4307, __pyx_L1_error) + __PYX_ERR(1, 4333, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -85583,15 +85882,15 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); #else - __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4307, __pyx_L1_error) + __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4307, __pyx_L1_error) + __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; - __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4307, __pyx_L1_error) + __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; @@ -85599,7 +85898,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections __Pyx_GOTREF(__pyx_t_5); index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 4307, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 4333, __pyx_L1_error) __pyx_t_8 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_unpacking_done; @@ -85607,7 +85906,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_8 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(1, 4307, __pyx_L1_error) + __PYX_ERR(1, 4333, __pyx_L1_error) __pyx_L6_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5); @@ -85615,14 +85914,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections __Pyx_XDECREF_SET(__pyx_v_arg, __pyx_t_6); __pyx_t_6 = 0; - /* "dependency_injector/providers.pyx":4308 + /* "dependency_injector/providers.pyx":4334 * * for name, arg in kwargs.items(): * injection = NamedInjection(name, arg) # <<<<<<<<<<<<<< * injections.append(injection) * */ - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4308, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_name); __Pyx_GIVEREF(__pyx_v_name); @@ -85630,22 +85929,22 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections __Pyx_INCREF(__pyx_v_arg); __Pyx_GIVEREF(__pyx_v_arg); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_arg); - __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_NamedInjection), __pyx_t_1, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4308, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_19dependency_injector_9providers_NamedInjection), __pyx_t_1, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_injection, ((struct __pyx_obj_19dependency_injector_9providers_NamedInjection *)__pyx_t_6)); __pyx_t_6 = 0; - /* "dependency_injector/providers.pyx":4309 + /* "dependency_injector/providers.pyx":4335 * for name, arg in kwargs.items(): * injection = NamedInjection(name, arg) * injections.append(injection) # <<<<<<<<<<<<<< * * return tuple(injections) */ - __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_injections, ((PyObject *)__pyx_v_injection)); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(1, 4309, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_injections, ((PyObject *)__pyx_v_injection)); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(1, 4335, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4307 + /* "dependency_injector/providers.pyx":4333 * cdef NamedInjection injection * * for name, arg in kwargs.items(): # <<<<<<<<<<<<<< @@ -85655,7 +85954,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "dependency_injector/providers.pyx":4311 + /* "dependency_injector/providers.pyx":4337 * injections.append(injection) * * return tuple(injections) # <<<<<<<<<<<<<< @@ -85663,13 +85962,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_parse_named_injections * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyList_AsTuple(__pyx_v_injections); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4311, __pyx_L1_error) + __pyx_t_2 = PyList_AsTuple(__pyx_v_injections); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4337, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4299 + /* "dependency_injector/providers.pyx":4325 * @cython.boundscheck(False) * @cython.wraparound(False) * cpdef tuple parse_named_injections(dict kwargs): # <<<<<<<<<<<<<< @@ -85706,7 +86005,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_9parse_named_injectio PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("parse_named_injections (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4299, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(1, 4325, __pyx_L1_error) __pyx_r = __pyx_pf_19dependency_injector_9providers_8parse_named_injections(__pyx_self, ((PyObject*)__pyx_v_kwargs)); /* function exit code */ @@ -85727,7 +86026,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8parse_named_injectio int __pyx_clineno = 0; __Pyx_RefNannySetupContext("parse_named_injections", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4299, __pyx_L1_error) + __pyx_t_1 = __pyx_f_19dependency_injector_9providers_parse_named_injections(__pyx_v_kwargs, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -85744,7 +86043,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_8parse_named_injectio return __pyx_r; } -/* "dependency_injector/providers.pyx":4328 +/* "dependency_injector/providers.pyx":4354 * """ * * def __init__(self, Provider overridden, Provider overriding): # <<<<<<<<<<<<<< @@ -85790,11 +86089,11 @@ static int __pyx_pw_19dependency_injector_9providers_17OverridingContext_1__init case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_overriding)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 4328, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(1, 4354, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4328, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4354, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -85807,14 +86106,14 @@ static int __pyx_pw_19dependency_injector_9providers_17OverridingContext_1__init } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4328, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4354, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("dependency_injector.providers.OverridingContext.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_overridden), __pyx_ptype_19dependency_injector_9providers_Provider, 1, "overridden", 0))) __PYX_ERR(1, 4328, __pyx_L1_error) - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_overriding), __pyx_ptype_19dependency_injector_9providers_Provider, 1, "overriding", 0))) __PYX_ERR(1, 4328, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_overridden), __pyx_ptype_19dependency_injector_9providers_Provider, 1, "overridden", 0))) __PYX_ERR(1, 4354, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_overriding), __pyx_ptype_19dependency_injector_9providers_Provider, 1, "overriding", 0))) __PYX_ERR(1, 4354, __pyx_L1_error) __pyx_r = __pyx_pf_19dependency_injector_9providers_17OverridingContext___init__(((struct __pyx_obj_19dependency_injector_9providers_OverridingContext *)__pyx_v_self), __pyx_v_overridden, __pyx_v_overriding); /* function exit code */ @@ -85837,7 +86136,7 @@ static int __pyx_pf_19dependency_injector_9providers_17OverridingContext___init_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__init__", 0); - /* "dependency_injector/providers.pyx":4337 + /* "dependency_injector/providers.pyx":4363 * :type overriding: :py:class:`Provider` * """ * self.__overridden = overridden # <<<<<<<<<<<<<< @@ -85850,7 +86149,7 @@ static int __pyx_pf_19dependency_injector_9providers_17OverridingContext___init_ __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx___overridden)); __pyx_v_self->__pyx___overridden = __pyx_v_overridden; - /* "dependency_injector/providers.pyx":4338 + /* "dependency_injector/providers.pyx":4364 * """ * self.__overridden = overridden * self.__overriding = overriding # <<<<<<<<<<<<<< @@ -85863,14 +86162,14 @@ static int __pyx_pf_19dependency_injector_9providers_17OverridingContext___init_ __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx___overriding)); __pyx_v_self->__pyx___overriding = __pyx_v_overriding; - /* "dependency_injector/providers.pyx":4339 + /* "dependency_injector/providers.pyx":4365 * self.__overridden = overridden * self.__overriding = overriding * super(OverridingContext, self).__init__() # <<<<<<<<<<<<<< * * def __enter__(self): */ - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4339, __pyx_L1_error) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4365, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_OverridingContext)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_OverridingContext)); @@ -85878,10 +86177,10 @@ static int __pyx_pf_19dependency_injector_9providers_17OverridingContext___init_ __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self)); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4339, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4365, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4339, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4365, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -85896,12 +86195,12 @@ static int __pyx_pf_19dependency_injector_9providers_17OverridingContext___init_ } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4339, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4365, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4328 + /* "dependency_injector/providers.pyx":4354 * """ * * def __init__(self, Provider overridden, Provider overriding): # <<<<<<<<<<<<<< @@ -85923,7 +86222,7 @@ static int __pyx_pf_19dependency_injector_9providers_17OverridingContext___init_ return __pyx_r; } -/* "dependency_injector/providers.pyx":4341 +/* "dependency_injector/providers.pyx":4367 * super(OverridingContext, self).__init__() * * def __enter__(self): # <<<<<<<<<<<<<< @@ -85950,7 +86249,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17OverridingContext_2 __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__enter__", 0); - /* "dependency_injector/providers.pyx":4343 + /* "dependency_injector/providers.pyx":4369 * def __enter__(self): * """Do nothing.""" * return self.__overriding # <<<<<<<<<<<<<< @@ -85962,7 +86261,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17OverridingContext_2 __pyx_r = ((PyObject *)__pyx_v_self->__pyx___overriding); goto __pyx_L0; - /* "dependency_injector/providers.pyx":4341 + /* "dependency_injector/providers.pyx":4367 * super(OverridingContext, self).__init__() * * def __enter__(self): # <<<<<<<<<<<<<< @@ -85977,7 +86276,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17OverridingContext_2 return __pyx_r; } -/* "dependency_injector/providers.pyx":4345 +/* "dependency_injector/providers.pyx":4371 * return self.__overriding * * def __exit__(self, *_): # <<<<<<<<<<<<<< @@ -86015,14 +86314,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17OverridingContext_4 int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__exit__", 0); - /* "dependency_injector/providers.pyx":4347 + /* "dependency_injector/providers.pyx":4373 * def __exit__(self, *_): * """Exit overriding context.""" * self.__overridden.reset_last_overriding() # <<<<<<<<<<<<<< * * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___overridden), __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4347, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___overridden), __pyx_n_s_reset_last_overriding); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4373, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -86036,12 +86335,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17OverridingContext_4 } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4347, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4373, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4345 + /* "dependency_injector/providers.pyx":4371 * return self.__overriding * * def __exit__(self, *_): # <<<<<<<<<<<<<< @@ -86371,7 +86670,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_17OverridingContext_8 return __pyx_r; } -/* "dependency_injector/providers.pyx":4352 +/* "dependency_injector/providers.pyx":4378 * cdef class BaseSingletonResetContext(object): * * def __init__(self, Provider provider): # <<<<<<<<<<<<<< @@ -86408,7 +86707,7 @@ static int __pyx_pw_19dependency_injector_9providers_25BaseSingletonResetContext else goto __pyx_L5_argtuple_error; } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4352, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 4378, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { goto __pyx_L5_argtuple_error; @@ -86419,13 +86718,13 @@ static int __pyx_pw_19dependency_injector_9providers_25BaseSingletonResetContext } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4352, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4378, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("dependency_injector.providers.BaseSingletonResetContext.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_provider), __pyx_ptype_19dependency_injector_9providers_Provider, 1, "provider", 0))) __PYX_ERR(1, 4352, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_provider), __pyx_ptype_19dependency_injector_9providers_Provider, 1, "provider", 0))) __PYX_ERR(1, 4378, __pyx_L1_error) __pyx_r = __pyx_pf_19dependency_injector_9providers_25BaseSingletonResetContext___init__(((struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext *)__pyx_v_self), __pyx_v_provider); /* function exit code */ @@ -86448,7 +86747,7 @@ static int __pyx_pf_19dependency_injector_9providers_25BaseSingletonResetContext int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__init__", 0); - /* "dependency_injector/providers.pyx":4353 + /* "dependency_injector/providers.pyx":4379 * * def __init__(self, Provider provider): * self.__singleton = provider # <<<<<<<<<<<<<< @@ -86461,14 +86760,14 @@ static int __pyx_pf_19dependency_injector_9providers_25BaseSingletonResetContext __Pyx_DECREF(__pyx_v_self->__pyx___singleton); __pyx_v_self->__pyx___singleton = ((PyObject *)__pyx_v_provider); - /* "dependency_injector/providers.pyx":4354 + /* "dependency_injector/providers.pyx":4380 * def __init__(self, Provider provider): * self.__singleton = provider * super().__init__() # <<<<<<<<<<<<<< * * def __enter__(self): */ - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4354, __pyx_L1_error) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext)); @@ -86476,10 +86775,10 @@ static int __pyx_pf_19dependency_injector_9providers_25BaseSingletonResetContext __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self)); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4354, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4354, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -86494,12 +86793,12 @@ static int __pyx_pf_19dependency_injector_9providers_25BaseSingletonResetContext } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4354, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4352 + /* "dependency_injector/providers.pyx":4378 * cdef class BaseSingletonResetContext(object): * * def __init__(self, Provider provider): # <<<<<<<<<<<<<< @@ -86521,7 +86820,7 @@ static int __pyx_pf_19dependency_injector_9providers_25BaseSingletonResetContext return __pyx_r; } -/* "dependency_injector/providers.pyx":4356 +/* "dependency_injector/providers.pyx":4382 * super().__init__() * * def __enter__(self): # <<<<<<<<<<<<<< @@ -86547,7 +86846,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25BaseSingletonResetC __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__enter__", 0); - /* "dependency_injector/providers.pyx":4357 + /* "dependency_injector/providers.pyx":4383 * * def __enter__(self): * return self.__singleton # <<<<<<<<<<<<<< @@ -86559,7 +86858,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25BaseSingletonResetC __pyx_r = __pyx_v_self->__pyx___singleton; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4356 + /* "dependency_injector/providers.pyx":4382 * super().__init__() * * def __enter__(self): # <<<<<<<<<<<<<< @@ -86574,7 +86873,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25BaseSingletonResetC return __pyx_r; } -/* "dependency_injector/providers.pyx":4359 +/* "dependency_injector/providers.pyx":4385 * return self.__singleton * * def __exit__(self, *_): # <<<<<<<<<<<<<< @@ -86609,20 +86908,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25BaseSingletonResetC int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__exit__", 0); - /* "dependency_injector/providers.pyx":4360 + /* "dependency_injector/providers.pyx":4386 * * def __exit__(self, *_): * raise NotImplementedError() # <<<<<<<<<<<<<< * * */ - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_builtin_NotImplementedError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4360, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_builtin_NotImplementedError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(1, 4360, __pyx_L1_error) + __PYX_ERR(1, 4386, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4359 + /* "dependency_injector/providers.pyx":4385 * return self.__singleton * * def __exit__(self, *_): # <<<<<<<<<<<<<< @@ -86933,7 +87232,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25BaseSingletonResetC return __pyx_r; } -/* "dependency_injector/providers.pyx":4365 +/* "dependency_injector/providers.pyx":4391 * cdef class SingletonResetContext(BaseSingletonResetContext): * * def __exit__(self, *_): # <<<<<<<<<<<<<< @@ -86970,7 +87269,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21SingletonResetConte int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__exit__", 0); - /* "dependency_injector/providers.pyx":4366 + /* "dependency_injector/providers.pyx":4392 * * def __exit__(self, *_): * return self.__singleton.reset() # <<<<<<<<<<<<<< @@ -86978,7 +87277,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21SingletonResetConte * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___singleton, __pyx_n_s_reset); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4366, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___singleton, __pyx_n_s_reset); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -86992,14 +87291,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21SingletonResetConte } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4366, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4365 + /* "dependency_injector/providers.pyx":4391 * cdef class SingletonResetContext(BaseSingletonResetContext): * * def __exit__(self, *_): # <<<<<<<<<<<<<< @@ -87313,7 +87612,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_21SingletonResetConte return __pyx_r; } -/* "dependency_injector/providers.pyx":4371 +/* "dependency_injector/providers.pyx":4397 * cdef class SingletonFullResetContext(BaseSingletonResetContext): * * def __exit__(self, *_): # <<<<<<<<<<<<<< @@ -87350,7 +87649,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25SingletonFullResetC int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__exit__", 0); - /* "dependency_injector/providers.pyx":4372 + /* "dependency_injector/providers.pyx":4398 * * def __exit__(self, *_): * return self.__singleton.full_reset() # <<<<<<<<<<<<<< @@ -87358,7 +87657,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25SingletonFullResetC * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___singleton, __pyx_n_s_full_reset); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4372, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx_base.__pyx___singleton, __pyx_n_s_full_reset); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -87372,14 +87671,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25SingletonFullResetC } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4372, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4371 + /* "dependency_injector/providers.pyx":4397 * cdef class SingletonFullResetContext(BaseSingletonResetContext): * * def __exit__(self, *_): # <<<<<<<<<<<<<< @@ -87693,7 +87992,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_25SingletonFullResetC return __pyx_r; } -/* "dependency_injector/providers.pyx":4378 +/* "dependency_injector/providers.pyx":4404 * * * cpdef bint is_provider(object instance): # <<<<<<<<<<<<<< @@ -87714,7 +88013,7 @@ static int __pyx_f_19dependency_injector_9providers_is_provider(PyObject *__pyx_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("is_provider", 0); - /* "dependency_injector/providers.pyx":4386 + /* "dependency_injector/providers.pyx":4412 * :rtype: bool * """ * return (not isinstance(instance, CLASS_TYPES) and # <<<<<<<<<<<<<< @@ -87723,7 +88022,7 @@ static int __pyx_f_19dependency_injector_9providers_is_provider(PyObject *__pyx_ */ __pyx_t_2 = __pyx_v_19dependency_injector_9providers_CLASS_TYPES; __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4386, __pyx_L1_error) + __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4412, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_4) { @@ -87732,14 +88031,14 @@ static int __pyx_f_19dependency_injector_9providers_is_provider(PyObject *__pyx_ goto __pyx_L3_bool_binop_done; } - /* "dependency_injector/providers.pyx":4387 + /* "dependency_injector/providers.pyx":4413 * """ * return (not isinstance(instance, CLASS_TYPES) and * getattr(instance, '__IS_PROVIDER__', False) is True) # <<<<<<<<<<<<<< * * */ - __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_PROVIDER, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4387, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_PROVIDER, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = (__pyx_t_2 == Py_True); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -87749,7 +88048,7 @@ static int __pyx_f_19dependency_injector_9providers_is_provider(PyObject *__pyx_ __pyx_r = __pyx_t_1; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4378 + /* "dependency_injector/providers.pyx":4404 * * * cpdef bint is_provider(object instance): # <<<<<<<<<<<<<< @@ -87790,7 +88089,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10is_provider(CYTHON_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("is_provider", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_provider(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4378, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_provider(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -87807,7 +88106,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_10is_provider(CYTHON_ return __pyx_r; } -/* "dependency_injector/providers.pyx":4390 +/* "dependency_injector/providers.pyx":4416 * * * cpdef object ensure_is_provider(object instance): # <<<<<<<<<<<<<< @@ -87831,7 +88130,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_ensure_is_provider(PyO int __pyx_clineno = 0; __Pyx_RefNannySetupContext("ensure_is_provider", 0); - /* "dependency_injector/providers.pyx":4401 + /* "dependency_injector/providers.pyx":4427 * :rtype: :py:class:`dependency_injector.providers.Provider` * """ * if not is_provider(instance): # <<<<<<<<<<<<<< @@ -87841,26 +88140,26 @@ static PyObject *__pyx_f_19dependency_injector_9providers_ensure_is_provider(PyO __pyx_t_1 = ((!(__pyx_f_19dependency_injector_9providers_is_provider(__pyx_v_instance, 0) != 0)) != 0); if (unlikely(__pyx_t_1)) { - /* "dependency_injector/providers.pyx":4402 + /* "dependency_injector/providers.pyx":4428 * """ * if not is_provider(instance): * raise Error('Expected provider instance, ' # <<<<<<<<<<<<<< * 'got {0}'.format(str(instance))) * return instance */ - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Error); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4402, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Error); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - /* "dependency_injector/providers.pyx":4403 + /* "dependency_injector/providers.pyx":4429 * if not is_provider(instance): * raise Error('Expected provider instance, ' * 'got {0}'.format(str(instance))) # <<<<<<<<<<<<<< * return instance * */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Expected_provider_instance_got_0, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4403, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Expected_provider_instance_got_0, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_instance); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4403, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_instance); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -87875,7 +88174,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_ensure_is_provider(PyO __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4403, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -87891,14 +88190,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_ensure_is_provider(PyO __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4402, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(1, 4402, __pyx_L1_error) + __PYX_ERR(1, 4428, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4401 + /* "dependency_injector/providers.pyx":4427 * :rtype: :py:class:`dependency_injector.providers.Provider` * """ * if not is_provider(instance): # <<<<<<<<<<<<<< @@ -87907,7 +88206,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_ensure_is_provider(PyO */ } - /* "dependency_injector/providers.pyx":4404 + /* "dependency_injector/providers.pyx":4430 * raise Error('Expected provider instance, ' * 'got {0}'.format(str(instance))) * return instance # <<<<<<<<<<<<<< @@ -87919,7 +88218,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_ensure_is_provider(PyO __pyx_r = __pyx_v_instance; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4390 + /* "dependency_injector/providers.pyx":4416 * * * cpdef object ensure_is_provider(object instance): # <<<<<<<<<<<<<< @@ -87966,7 +88265,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12ensure_is_provider( int __pyx_clineno = 0; __Pyx_RefNannySetupContext("ensure_is_provider", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_19dependency_injector_9providers_ensure_is_provider(__pyx_v_instance, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4390, __pyx_L1_error) + __pyx_t_1 = __pyx_f_19dependency_injector_9providers_ensure_is_provider(__pyx_v_instance, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -87983,7 +88282,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_12ensure_is_provider( return __pyx_r; } -/* "dependency_injector/providers.pyx":4407 +/* "dependency_injector/providers.pyx":4433 * * * cpdef bint is_delegated(object instance): # <<<<<<<<<<<<<< @@ -88004,7 +88303,7 @@ static int __pyx_f_19dependency_injector_9providers_is_delegated(PyObject *__pyx int __pyx_clineno = 0; __Pyx_RefNannySetupContext("is_delegated", 0); - /* "dependency_injector/providers.pyx":4415 + /* "dependency_injector/providers.pyx":4441 * :rtype: bool * """ * return (not isinstance(instance, CLASS_TYPES) and # <<<<<<<<<<<<<< @@ -88013,7 +88312,7 @@ static int __pyx_f_19dependency_injector_9providers_is_delegated(PyObject *__pyx */ __pyx_t_2 = __pyx_v_19dependency_injector_9providers_CLASS_TYPES; __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4415, __pyx_L1_error) + __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4441, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_4) { @@ -88022,14 +88321,14 @@ static int __pyx_f_19dependency_injector_9providers_is_delegated(PyObject *__pyx goto __pyx_L3_bool_binop_done; } - /* "dependency_injector/providers.pyx":4416 + /* "dependency_injector/providers.pyx":4442 * """ * return (not isinstance(instance, CLASS_TYPES) and * getattr(instance, '__IS_DELEGATED__', False) is True) # <<<<<<<<<<<<<< * * */ - __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_DELEGATED, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4416, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_DELEGATED, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = (__pyx_t_2 == Py_True); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -88039,7 +88338,7 @@ static int __pyx_f_19dependency_injector_9providers_is_delegated(PyObject *__pyx __pyx_r = __pyx_t_1; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4407 + /* "dependency_injector/providers.pyx":4433 * * * cpdef bint is_delegated(object instance): # <<<<<<<<<<<<<< @@ -88080,7 +88379,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14is_delegated(CYTHON int __pyx_clineno = 0; __Pyx_RefNannySetupContext("is_delegated", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_delegated(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4407, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_delegated(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -88097,7 +88396,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_14is_delegated(CYTHON return __pyx_r; } -/* "dependency_injector/providers.pyx":4419 +/* "dependency_injector/providers.pyx":4445 * * * cpdef str represent_provider(object provider, object provides): # <<<<<<<<<<<<<< @@ -88120,7 +88419,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_represent_provider(PyO int __pyx_clineno = 0; __Pyx_RefNannySetupContext("represent_provider", 0); - /* "dependency_injector/providers.pyx":4431 + /* "dependency_injector/providers.pyx":4457 * :rtype: str * """ * return '<{provider}({provides}) at {address}>'.format( # <<<<<<<<<<<<<< @@ -88128,45 +88427,45 @@ static PyObject *__pyx_f_19dependency_injector_9providers_represent_provider(PyO * provider.__class__.__name__)), */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_provider_provides_at_address, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4431, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_provider_provides_at_address, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - /* "dependency_injector/providers.pyx":4432 + /* "dependency_injector/providers.pyx":4458 * """ * return '<{provider}({provides}) at {address}>'.format( * provider='.'.join((provider.__class__.__module__, # <<<<<<<<<<<<<< * provider.__class__.__name__)), * provides=repr(provides) if provides is not None else '', */ - __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4432, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4432, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_module); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4432, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_module); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "dependency_injector/providers.pyx":4433 + /* "dependency_injector/providers.pyx":4459 * return '<{provider}({provides}) at {address}>'.format( * provider='.'.join((provider.__class__.__module__, * provider.__class__.__name__)), # <<<<<<<<<<<<<< * provides=repr(provides) if provides is not None else '', * address=hex(id(provider))) */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4433, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_provider, __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4433, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "dependency_injector/providers.pyx":4432 + /* "dependency_injector/providers.pyx":4458 * """ * return '<{provider}({provides}) at {address}>'.format( * provider='.'.join((provider.__class__.__module__, # <<<<<<<<<<<<<< * provider.__class__.__name__)), * provides=repr(provides) if provides is not None else '', */ - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4432, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); @@ -88174,13 +88473,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_represent_provider(PyO PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5); __pyx_t_4 = 0; __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyString_Join(__pyx_kp_s__6, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4432, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyString_Join(__pyx_kp_s__6, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_provider, __pyx_t_5) < 0) __PYX_ERR(1, 4432, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_provider, __pyx_t_5) < 0) __PYX_ERR(1, 4458, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "dependency_injector/providers.pyx":4434 + /* "dependency_injector/providers.pyx":4460 * provider='.'.join((provider.__class__.__module__, * provider.__class__.__name__)), * provides=repr(provides) if provides is not None else '', # <<<<<<<<<<<<<< @@ -88189,7 +88488,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_represent_provider(PyO */ __pyx_t_6 = (__pyx_v_provides != Py_None); if ((__pyx_t_6 != 0)) { - __pyx_t_3 = PyObject_Repr(__pyx_v_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4434, __pyx_L1_error) + __pyx_t_3 = PyObject_Repr(__pyx_v_provides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4460, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __pyx_t_3; __pyx_t_3 = 0; @@ -88197,41 +88496,41 @@ static PyObject *__pyx_f_19dependency_injector_9providers_represent_provider(PyO __Pyx_INCREF(__pyx_kp_s__9); __pyx_t_5 = __pyx_kp_s__9; } - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_provides, __pyx_t_5) < 0) __PYX_ERR(1, 4432, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_provides, __pyx_t_5) < 0) __PYX_ERR(1, 4458, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "dependency_injector/providers.pyx":4435 + /* "dependency_injector/providers.pyx":4461 * provider.__class__.__name__)), * provides=repr(provides) if provides is not None else '', * address=hex(id(provider))) # <<<<<<<<<<<<<< * * */ - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_provider); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4435, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_provider); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4435, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_address, __pyx_t_3) < 0) __PYX_ERR(1, 4432, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_address, __pyx_t_3) < 0) __PYX_ERR(1, 4458, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "dependency_injector/providers.pyx":4431 + /* "dependency_injector/providers.pyx":4457 * :rtype: str * """ * return '<{provider}({provides}) at {address}>'.format( # <<<<<<<<<<<<<< * provider='.'.join((provider.__class__.__module__, * provider.__class__.__name__)), */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4431, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(1, 4431, __pyx_L1_error) + if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(1, 4457, __pyx_L1_error) __pyx_r = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4419 + /* "dependency_injector/providers.pyx":4445 * * * cpdef str represent_provider(object provider, object provides): # <<<<<<<<<<<<<< @@ -88289,11 +88588,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_17represent_provider( case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_provides)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("represent_provider", 1, 2, 2, 1); __PYX_ERR(1, 4419, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("represent_provider", 1, 2, 2, 1); __PYX_ERR(1, 4445, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "represent_provider") < 0)) __PYX_ERR(1, 4419, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "represent_provider") < 0)) __PYX_ERR(1, 4445, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -88306,7 +88605,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_17represent_provider( } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("represent_provider", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4419, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("represent_provider", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4445, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("dependency_injector.providers.represent_provider", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -88328,7 +88627,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16represent_provider( int __pyx_clineno = 0; __Pyx_RefNannySetupContext("represent_provider", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_19dependency_injector_9providers_represent_provider(__pyx_v_provider, __pyx_v_provides, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4419, __pyx_L1_error) + __pyx_t_1 = __pyx_f_19dependency_injector_9providers_represent_provider(__pyx_v_provider, __pyx_v_provides, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -88345,7 +88644,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_16represent_provider( return __pyx_r; } -/* "dependency_injector/providers.pyx":4438 +/* "dependency_injector/providers.pyx":4464 * * * cpdef bint is_container_instance(object instance): # <<<<<<<<<<<<<< @@ -88366,7 +88665,7 @@ static int __pyx_f_19dependency_injector_9providers_is_container_instance(PyObje int __pyx_clineno = 0; __Pyx_RefNannySetupContext("is_container_instance", 0); - /* "dependency_injector/providers.pyx":4446 + /* "dependency_injector/providers.pyx":4472 * :rtype: bool * """ * return (not isinstance(instance, CLASS_TYPES) and # <<<<<<<<<<<<<< @@ -88375,7 +88674,7 @@ static int __pyx_f_19dependency_injector_9providers_is_container_instance(PyObje */ __pyx_t_2 = __pyx_v_19dependency_injector_9providers_CLASS_TYPES; __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4446, __pyx_L1_error) + __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4472, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = ((!(__pyx_t_3 != 0)) != 0); if (__pyx_t_4) { @@ -88384,14 +88683,14 @@ static int __pyx_f_19dependency_injector_9providers_is_container_instance(PyObje goto __pyx_L3_bool_binop_done; } - /* "dependency_injector/providers.pyx":4447 + /* "dependency_injector/providers.pyx":4473 * """ * return (not isinstance(instance, CLASS_TYPES) and * getattr(instance, '__IS_CONTAINER__', False) is True) # <<<<<<<<<<<<<< * * */ - __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_CONTAINER, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4447, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_CONTAINER, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = (__pyx_t_2 == Py_True); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -88401,7 +88700,7 @@ static int __pyx_f_19dependency_injector_9providers_is_container_instance(PyObje __pyx_r = __pyx_t_1; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4438 + /* "dependency_injector/providers.pyx":4464 * * * cpdef bint is_container_instance(object instance): # <<<<<<<<<<<<<< @@ -88442,7 +88741,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_18is_container_instan int __pyx_clineno = 0; __Pyx_RefNannySetupContext("is_container_instance", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_container_instance(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4438, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_container_instance(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4464, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -88459,7 +88758,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_18is_container_instan return __pyx_r; } -/* "dependency_injector/providers.pyx":4450 +/* "dependency_injector/providers.pyx":4476 * * * cpdef bint is_container_class(object instance): # <<<<<<<<<<<<<< @@ -88480,7 +88779,7 @@ static int __pyx_f_19dependency_injector_9providers_is_container_class(PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("is_container_class", 0); - /* "dependency_injector/providers.pyx":4458 + /* "dependency_injector/providers.pyx":4484 * :rtype: bool * """ * return (isinstance(instance, CLASS_TYPES) and # <<<<<<<<<<<<<< @@ -88489,7 +88788,7 @@ static int __pyx_f_19dependency_injector_9providers_is_container_class(PyObject */ __pyx_t_2 = __pyx_v_19dependency_injector_9providers_CLASS_TYPES; __Pyx_INCREF(__pyx_t_2); - __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4458, __pyx_L1_error) + __pyx_t_3 = PyObject_IsInstance(__pyx_v_instance, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 4484, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = (__pyx_t_3 != 0); if (__pyx_t_4) { @@ -88498,14 +88797,14 @@ static int __pyx_f_19dependency_injector_9providers_is_container_class(PyObject goto __pyx_L3_bool_binop_done; } - /* "dependency_injector/providers.pyx":4459 + /* "dependency_injector/providers.pyx":4485 * """ * return (isinstance(instance, CLASS_TYPES) and * getattr(instance, '__IS_CONTAINER__', False) is True) # <<<<<<<<<<<<<< * * */ - __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_CONTAINER, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4459, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetAttr3(__pyx_v_instance, __pyx_n_s_IS_CONTAINER, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = (__pyx_t_2 == Py_True); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -88515,7 +88814,7 @@ static int __pyx_f_19dependency_injector_9providers_is_container_class(PyObject __pyx_r = __pyx_t_1; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4450 + /* "dependency_injector/providers.pyx":4476 * * * cpdef bint is_container_class(object instance): # <<<<<<<<<<<<<< @@ -88556,7 +88855,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20is_container_class( int __pyx_clineno = 0; __Pyx_RefNannySetupContext("is_container_class", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_container_class(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4450, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_19dependency_injector_9providers_is_container_class(__pyx_v_instance, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -88573,7 +88872,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_20is_container_class( return __pyx_r; } -/* "dependency_injector/providers.pyx":4462 +/* "dependency_injector/providers.pyx":4488 * * * cpdef object deepcopy(object instance, dict memo=None): # <<<<<<<<<<<<<< @@ -88604,7 +88903,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p } __Pyx_INCREF(__pyx_v_memo); - /* "dependency_injector/providers.pyx":4464 + /* "dependency_injector/providers.pyx":4490 * cpdef object deepcopy(object instance, dict memo=None): * """Return full copy of provider or container with providers.""" * if memo is None: # <<<<<<<<<<<<<< @@ -88615,19 +88914,19 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "dependency_injector/providers.pyx":4465 + /* "dependency_injector/providers.pyx":4491 * """Return full copy of provider or container with providers.""" * if memo is None: * memo = dict() # <<<<<<<<<<<<<< * * __add_sys_streams(memo) */ - __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4465, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_memo, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; - /* "dependency_injector/providers.pyx":4464 + /* "dependency_injector/providers.pyx":4490 * cpdef object deepcopy(object instance, dict memo=None): * """Return full copy of provider or container with providers.""" * if memo is None: # <<<<<<<<<<<<<< @@ -88636,14 +88935,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p */ } - /* "dependency_injector/providers.pyx":4467 + /* "dependency_injector/providers.pyx":4493 * memo = dict() * * __add_sys_streams(memo) # <<<<<<<<<<<<<< * * return copy.deepcopy(instance, memo) */ - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_add_sys_streams); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4467, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_add_sys_streams); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { @@ -88657,12 +88956,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_memo) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_memo); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4467, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "dependency_injector/providers.pyx":4469 + /* "dependency_injector/providers.pyx":4495 * __add_sys_streams(memo) * * return copy.deepcopy(instance, memo) # <<<<<<<<<<<<<< @@ -88670,9 +88969,9 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p * */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_copy); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4469, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_copy); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4469, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; @@ -88690,7 +88989,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_instance, __pyx_v_memo}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4469, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4495, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -88698,13 +88997,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_instance, __pyx_v_memo}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4469, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4495, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4469, __pyx_L1_error) + __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL; @@ -88715,7 +89014,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p __Pyx_INCREF(__pyx_v_memo); __Pyx_GIVEREF(__pyx_v_memo); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_memo); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4469, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } @@ -88724,7 +89023,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers_deepcopy(PyObject *__p __pyx_t_3 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4462 + /* "dependency_injector/providers.pyx":4488 * * * cpdef object deepcopy(object instance, dict memo=None): # <<<<<<<<<<<<<< @@ -88787,7 +89086,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_23deepcopy(PyObject * } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "deepcopy") < 0)) __PYX_ERR(1, 4462, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "deepcopy") < 0)) __PYX_ERR(1, 4488, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -88803,13 +89102,13 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_23deepcopy(PyObject * } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("deepcopy", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4462, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("deepcopy", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4488, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("dependency_injector.providers.deepcopy", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4462, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4488, __pyx_L1_error) __pyx_r = __pyx_pf_19dependency_injector_9providers_22deepcopy(__pyx_self, __pyx_v_instance, __pyx_v_memo); /* function exit code */ @@ -88833,7 +89132,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_22deepcopy(CYTHON_UNU __Pyx_XDECREF(__pyx_r); __pyx_t_2.__pyx_n = 1; __pyx_t_2.memo = __pyx_v_memo; - __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_v_instance, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4462, __pyx_L1_error) + __pyx_t_1 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_v_instance, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -88850,7 +89149,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_22deepcopy(CYTHON_UNU return __pyx_r; } -/* "dependency_injector/providers.pyx":4472 +/* "dependency_injector/providers.pyx":4498 * * * def __add_sys_streams(memo): # <<<<<<<<<<<<<< @@ -88884,79 +89183,79 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_24__add_sys_streams(C int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__add_sys_streams", 0); - /* "dependency_injector/providers.pyx":4478 + /* "dependency_injector/providers.pyx":4504 * objects graph. * """ * memo[id(sys.stdin)] = sys.stdin # <<<<<<<<<<<<<< * memo[id(sys.stdout)] = sys.stdout * memo[id(sys.stderr)] = sys.stderr */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4478, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdin); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4478, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdin); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4478, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdin); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4478, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stdin); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4478, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(PyObject_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_t_2) < 0)) __PYX_ERR(1, 4478, __pyx_L1_error) + if (unlikely(PyObject_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_t_2) < 0)) __PYX_ERR(1, 4504, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "dependency_injector/providers.pyx":4479 + /* "dependency_injector/providers.pyx":4505 * """ * memo[id(sys.stdin)] = sys.stdin * memo[id(sys.stdout)] = sys.stdout # <<<<<<<<<<<<<< * memo[id(sys.stderr)] = sys.stderr * */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_sys); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4479, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_sys); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4479, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_sys); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4479, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_sys); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4479, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_stdout); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4479, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(PyObject_SetItem(__pyx_v_memo, __pyx_t_2, __pyx_t_1) < 0)) __PYX_ERR(1, 4479, __pyx_L1_error) + if (unlikely(PyObject_SetItem(__pyx_v_memo, __pyx_t_2, __pyx_t_1) < 0)) __PYX_ERR(1, 4505, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4480 + /* "dependency_injector/providers.pyx":4506 * memo[id(sys.stdin)] = sys.stdin * memo[id(sys.stdout)] = sys.stdout * memo[id(sys.stderr)] = sys.stderr # <<<<<<<<<<<<<< * * */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4480, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stderr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4480, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stderr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4480, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stderr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4480, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stderr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4480, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(PyObject_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_t_2) < 0)) __PYX_ERR(1, 4480, __pyx_L1_error) + if (unlikely(PyObject_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_t_2) < 0)) __PYX_ERR(1, 4506, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "dependency_injector/providers.pyx":4472 + /* "dependency_injector/providers.pyx":4498 * * * def __add_sys_streams(memo): # <<<<<<<<<<<<<< @@ -88979,7 +89278,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_24__add_sys_streams(C return __pyx_r; } -/* "dependency_injector/providers.pyx":4483 +/* "dependency_injector/providers.pyx":4509 * * * def merge_dicts(dict1, dict2): # <<<<<<<<<<<<<< @@ -89023,11 +89322,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_27merge_dicts(PyObjec case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dict2)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("merge_dicts", 1, 2, 2, 1); __PYX_ERR(1, 4483, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("merge_dicts", 1, 2, 2, 1); __PYX_ERR(1, 4509, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "merge_dicts") < 0)) __PYX_ERR(1, 4483, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "merge_dicts") < 0)) __PYX_ERR(1, 4509, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -89040,7 +89339,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_27merge_dicts(PyObjec } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("merge_dicts", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4483, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("merge_dicts", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4509, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("dependency_injector.providers.merge_dicts", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -89077,14 +89376,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("merge_dicts", 0); - /* "dependency_injector/providers.pyx":4495 + /* "dependency_injector/providers.pyx":4521 * :rtype: dict * """ * for key, value in dict1.items(): # <<<<<<<<<<<<<< * if key in dict2: * if isinstance(value, dict) and isinstance(dict2[key], dict): */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_dict1, __pyx_n_s_items); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4495, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_dict1, __pyx_n_s_items); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -89098,16 +89397,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4495, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0; __pyx_t_5 = NULL; } else { - __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4495, __pyx_L1_error) + __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4495, __pyx_L1_error) + __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4521, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { @@ -89115,17 +89414,17 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 4495, __pyx_L1_error) + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 4521, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4495, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 4495, __pyx_L1_error) + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 4521, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4495, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } @@ -89135,7 +89434,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(1, 4495, __pyx_L1_error) + else __PYX_ERR(1, 4521, __pyx_L1_error) } break; } @@ -89147,7 +89446,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(1, 4495, __pyx_L1_error) + __PYX_ERR(1, 4521, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -89160,15 +89459,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_6); #else - __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4495, __pyx_L1_error) + __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4495, __pyx_L1_error) + __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; - __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4495, __pyx_L1_error) + __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 4521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; @@ -89176,7 +89475,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ __Pyx_GOTREF(__pyx_t_3); index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 4495, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(1, 4521, __pyx_L1_error) __pyx_t_8 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_unpacking_done; @@ -89184,7 +89483,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_8 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(1, 4495, __pyx_L1_error) + __PYX_ERR(1, 4521, __pyx_L1_error) __pyx_L6_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_3); @@ -89192,18 +89491,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6); __pyx_t_6 = 0; - /* "dependency_injector/providers.pyx":4496 + /* "dependency_injector/providers.pyx":4522 * """ * for key, value in dict1.items(): * if key in dict2: # <<<<<<<<<<<<<< * if isinstance(value, dict) and isinstance(dict2[key], dict): * dict2[key] = merge_dicts(value, dict2[key]) */ - __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_v_key, __pyx_v_dict2, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(1, 4496, __pyx_L1_error) + __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_v_key, __pyx_v_dict2, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(1, 4522, __pyx_L1_error) __pyx_t_10 = (__pyx_t_9 != 0); if (__pyx_t_10) { - /* "dependency_injector/providers.pyx":4497 + /* "dependency_injector/providers.pyx":4523 * for key, value in dict1.items(): * if key in dict2: * if isinstance(value, dict) and isinstance(dict2[key], dict): # <<<<<<<<<<<<<< @@ -89217,7 +89516,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ __pyx_t_10 = __pyx_t_11; goto __pyx_L9_bool_binop_done; } - __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_dict2, __pyx_v_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4497, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_dict2, __pyx_v_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = PyDict_Check(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -89226,16 +89525,16 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ __pyx_L9_bool_binop_done:; if (__pyx_t_10) { - /* "dependency_injector/providers.pyx":4498 + /* "dependency_injector/providers.pyx":4524 * if key in dict2: * if isinstance(value, dict) and isinstance(dict2[key], dict): * dict2[key] = merge_dicts(value, dict2[key]) # <<<<<<<<<<<<<< * result = dict1.copy() * result.update(dict2) */ - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4498, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_merge_dicts); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_dict2, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4498, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_dict2, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = NULL; __pyx_t_12 = 0; @@ -89252,7 +89551,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_value, __pyx_t_3}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4498, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4524, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -89261,14 +89560,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_value, __pyx_t_3}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4498, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4524, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { - __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 4498, __pyx_L1_error) + __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 4524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_7); __pyx_t_7 = NULL; @@ -89279,15 +89578,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_3); __pyx_t_3 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4498, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(PyObject_SetItem(__pyx_v_dict2, __pyx_v_key, __pyx_t_1) < 0)) __PYX_ERR(1, 4498, __pyx_L1_error) + if (unlikely(PyObject_SetItem(__pyx_v_dict2, __pyx_v_key, __pyx_t_1) < 0)) __PYX_ERR(1, 4524, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4497 + /* "dependency_injector/providers.pyx":4523 * for key, value in dict1.items(): * if key in dict2: * if isinstance(value, dict) and isinstance(dict2[key], dict): # <<<<<<<<<<<<<< @@ -89296,7 +89595,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ */ } - /* "dependency_injector/providers.pyx":4496 + /* "dependency_injector/providers.pyx":4522 * """ * for key, value in dict1.items(): * if key in dict2: # <<<<<<<<<<<<<< @@ -89305,7 +89604,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ */ } - /* "dependency_injector/providers.pyx":4495 + /* "dependency_injector/providers.pyx":4521 * :rtype: dict * """ * for key, value in dict1.items(): # <<<<<<<<<<<<<< @@ -89315,14 +89614,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "dependency_injector/providers.pyx":4499 + /* "dependency_injector/providers.pyx":4525 * if isinstance(value, dict) and isinstance(dict2[key], dict): * dict2[key] = merge_dicts(value, dict2[key]) * result = dict1.copy() # <<<<<<<<<<<<<< * result.update(dict2) * return result */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dict1, __pyx_n_s_copy); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4499, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dict1, __pyx_n_s_copy); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -89336,20 +89635,20 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ } __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4499, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_result = __pyx_t_2; __pyx_t_2 = 0; - /* "dependency_injector/providers.pyx":4500 + /* "dependency_injector/providers.pyx":4526 * dict2[key] = merge_dicts(value, dict2[key]) * result = dict1.copy() * result.update(dict2) # <<<<<<<<<<<<<< * return result * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_update); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4500, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_update); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -89363,12 +89662,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ } __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_v_dict2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_dict2); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4500, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "dependency_injector/providers.pyx":4501 + /* "dependency_injector/providers.pyx":4527 * result = dict1.copy() * result.update(dict2) * return result # <<<<<<<<<<<<<< @@ -89380,7 +89679,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ __pyx_r = __pyx_v_result; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4483 + /* "dependency_injector/providers.pyx":4509 * * * def merge_dicts(dict1, dict2): # <<<<<<<<<<<<<< @@ -89408,7 +89707,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_26merge_dicts(CYTHON_ } static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ -/* "dependency_injector/providers.pyx":4504 +/* "dependency_injector/providers.pyx":4530 * * * def traverse(*providers, types=None): # <<<<<<<<<<<<<< @@ -89457,7 +89756,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_29traverse(PyObject * if (value) { values[index] = value; kw_args--; } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "traverse") < 0)) __PYX_ERR(1, 4504, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "traverse") < 0)) __PYX_ERR(1, 4530, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) < 0) { goto __pyx_L5_argtuple_error; @@ -89467,7 +89766,7 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_29traverse(PyObject * } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("traverse", 0, 0, 0, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4504, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("traverse", 0, 0, 0, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4530, __pyx_L3_error) __pyx_L3_error:; __Pyx_CLEAR(__pyx_v_providers); __Pyx_AddTraceback("dependency_injector.providers.traverse", __pyx_clineno, __pyx_lineno, __pyx_filename); @@ -89494,7 +89793,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_28traverse(CYTHON_UNU if (unlikely(!__pyx_cur_scope)) { __pyx_cur_scope = ((struct __pyx_obj_19dependency_injector_9providers___pyx_scope_struct_24_traverse *)Py_None); __Pyx_INCREF(Py_None); - __PYX_ERR(1, 4504, __pyx_L1_error) + __PYX_ERR(1, 4530, __pyx_L1_error) } else { __Pyx_GOTREF(__pyx_cur_scope); } @@ -89505,7 +89804,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_28traverse(CYTHON_UNU __Pyx_INCREF(__pyx_cur_scope->__pyx_v_providers); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_providers); { - __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_30generator20, __pyx_codeobj__32, (PyObject *) __pyx_cur_scope, __pyx_n_s_traverse, __pyx_n_s_traverse, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4504, __pyx_L1_error) + __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_19dependency_injector_9providers_30generator20, __pyx_codeobj__32, (PyObject *) __pyx_cur_scope, __pyx_n_s_traverse, __pyx_n_s_traverse, __pyx_n_s_dependency_injector_providers); if (unlikely(!gen)) __PYX_ERR(1, 4530, __pyx_L1_error) __Pyx_DECREF(__pyx_cur_scope); __Pyx_RefNannyFinishContext(); return (PyObject *) gen; @@ -89546,59 +89845,59 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C return NULL; } __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4504, __pyx_L1_error) + if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4530, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4506 + /* "dependency_injector/providers.pyx":4532 * def traverse(*providers, types=None): * """Return providers traversal generator.""" * visited = set() # <<<<<<<<<<<<<< * to_visit = set(providers) * */ - __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4506, __pyx_L1_error) + __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_cur_scope->__pyx_v_visited = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4507 + /* "dependency_injector/providers.pyx":4533 * """Return providers traversal generator.""" * visited = set() * to_visit = set(providers) # <<<<<<<<<<<<<< * * if types: */ - __pyx_t_1 = PySet_New(__pyx_cur_scope->__pyx_v_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4507, __pyx_L1_error) + __pyx_t_1 = PySet_New(__pyx_cur_scope->__pyx_v_providers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_cur_scope->__pyx_v_to_visit = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4509 + /* "dependency_injector/providers.pyx":4535 * to_visit = set(providers) * * if types: # <<<<<<<<<<<<<< * types = tuple(types) * */ - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_types); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4509, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_types); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4535, __pyx_L1_error) if (__pyx_t_2) { - /* "dependency_injector/providers.pyx":4510 + /* "dependency_injector/providers.pyx":4536 * * if types: * types = tuple(types) # <<<<<<<<<<<<<< * * while len(to_visit) > 0: */ - __pyx_t_1 = __Pyx_PySequence_Tuple(__pyx_cur_scope->__pyx_v_types); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4510, __pyx_L1_error) + __pyx_t_1 = __Pyx_PySequence_Tuple(__pyx_cur_scope->__pyx_v_types); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_types); __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_types, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4509 + /* "dependency_injector/providers.pyx":4535 * to_visit = set(providers) * * if types: # <<<<<<<<<<<<<< @@ -89607,7 +89906,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C */ } - /* "dependency_injector/providers.pyx":4512 + /* "dependency_injector/providers.pyx":4538 * types = tuple(types) * * while len(to_visit) > 0: # <<<<<<<<<<<<<< @@ -89615,49 +89914,49 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C * visited.add(visiting) */ while (1) { - __pyx_t_3 = PySet_GET_SIZE(__pyx_cur_scope->__pyx_v_to_visit); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4512, __pyx_L1_error) + __pyx_t_3 = PySet_GET_SIZE(__pyx_cur_scope->__pyx_v_to_visit); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 4538, __pyx_L1_error) __pyx_t_2 = ((__pyx_t_3 > 0) != 0); if (!__pyx_t_2) break; - /* "dependency_injector/providers.pyx":4513 + /* "dependency_injector/providers.pyx":4539 * * while len(to_visit) > 0: * visiting = to_visit.pop() # <<<<<<<<<<<<<< * visited.add(visiting) * */ - __pyx_t_1 = PySet_Pop(__pyx_cur_scope->__pyx_v_to_visit); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4513, __pyx_L1_error) + __pyx_t_1 = PySet_Pop(__pyx_cur_scope->__pyx_v_to_visit); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_visiting); __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_visiting, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4514 + /* "dependency_injector/providers.pyx":4540 * while len(to_visit) > 0: * visiting = to_visit.pop() * visited.add(visiting) # <<<<<<<<<<<<<< * * for child in visiting.related: */ - __pyx_t_4 = PySet_Add(__pyx_cur_scope->__pyx_v_visited, __pyx_cur_scope->__pyx_v_visiting); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 4514, __pyx_L1_error) + __pyx_t_4 = PySet_Add(__pyx_cur_scope->__pyx_v_visited, __pyx_cur_scope->__pyx_v_visiting); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 4540, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4516 + /* "dependency_injector/providers.pyx":4542 * visited.add(visiting) * * for child in visiting.related: # <<<<<<<<<<<<<< * if child in visited: * continue */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_visiting, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4516, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_visiting, __pyx_n_s_related); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_3 = 0; __pyx_t_6 = NULL; } else { - __pyx_t_3 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4516, __pyx_L1_error) + __pyx_t_3 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4516, __pyx_L1_error) + __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4542, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { @@ -89665,17 +89964,17 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4516, __pyx_L1_error) + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4542, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4516, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4516, __pyx_L1_error) + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(1, 4542, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4516, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } @@ -89685,7 +89984,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(1, 4516, __pyx_L1_error) + else __PYX_ERR(1, 4542, __pyx_L1_error) } break; } @@ -89696,18 +89995,18 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4517 + /* "dependency_injector/providers.pyx":4543 * * for child in visiting.related: * if child in visited: # <<<<<<<<<<<<<< * continue * to_visit.add(child) */ - __pyx_t_2 = (__Pyx_PySet_ContainsTF(__pyx_cur_scope->__pyx_v_child, __pyx_cur_scope->__pyx_v_visited, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4517, __pyx_L1_error) + __pyx_t_2 = (__Pyx_PySet_ContainsTF(__pyx_cur_scope->__pyx_v_child, __pyx_cur_scope->__pyx_v_visited, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4543, __pyx_L1_error) __pyx_t_7 = (__pyx_t_2 != 0); if (__pyx_t_7) { - /* "dependency_injector/providers.pyx":4518 + /* "dependency_injector/providers.pyx":4544 * for child in visiting.related: * if child in visited: * continue # <<<<<<<<<<<<<< @@ -89716,7 +90015,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C */ goto __pyx_L7_continue; - /* "dependency_injector/providers.pyx":4517 + /* "dependency_injector/providers.pyx":4543 * * for child in visiting.related: * if child in visited: # <<<<<<<<<<<<<< @@ -89725,16 +90024,16 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C */ } - /* "dependency_injector/providers.pyx":4519 + /* "dependency_injector/providers.pyx":4545 * if child in visited: * continue * to_visit.add(child) # <<<<<<<<<<<<<< * * if types and not isinstance(visiting, types): */ - __pyx_t_4 = PySet_Add(__pyx_cur_scope->__pyx_v_to_visit, __pyx_cur_scope->__pyx_v_child); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 4519, __pyx_L1_error) + __pyx_t_4 = PySet_Add(__pyx_cur_scope->__pyx_v_to_visit, __pyx_cur_scope->__pyx_v_child); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 4545, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4516 + /* "dependency_injector/providers.pyx":4542 * visited.add(visiting) * * for child in visiting.related: # <<<<<<<<<<<<<< @@ -89745,26 +90044,26 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "dependency_injector/providers.pyx":4521 + /* "dependency_injector/providers.pyx":4547 * to_visit.add(child) * * if types and not isinstance(visiting, types): # <<<<<<<<<<<<<< * continue * */ - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_types); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4521, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_types); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4547, __pyx_L1_error) if (__pyx_t_2) { } else { __pyx_t_7 = __pyx_t_2; goto __pyx_L11_bool_binop_done; } - __pyx_t_2 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v_visiting, __pyx_cur_scope->__pyx_v_types); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 4521, __pyx_L1_error) + __pyx_t_2 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v_visiting, __pyx_cur_scope->__pyx_v_types); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(1, 4547, __pyx_L1_error) __pyx_t_8 = ((!(__pyx_t_2 != 0)) != 0); __pyx_t_7 = __pyx_t_8; __pyx_L11_bool_binop_done:; if (__pyx_t_7) { - /* "dependency_injector/providers.pyx":4522 + /* "dependency_injector/providers.pyx":4548 * * if types and not isinstance(visiting, types): * continue # <<<<<<<<<<<<<< @@ -89773,7 +90072,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C */ goto __pyx_L5_continue; - /* "dependency_injector/providers.pyx":4521 + /* "dependency_injector/providers.pyx":4547 * to_visit.add(child) * * if types and not isinstance(visiting, types): # <<<<<<<<<<<<<< @@ -89782,7 +90081,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C */ } - /* "dependency_injector/providers.pyx":4524 + /* "dependency_injector/providers.pyx":4550 * continue * * yield visiting # <<<<<<<<<<<<<< @@ -89798,12 +90097,12 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C __pyx_generator->resume_label = 1; return __pyx_r; __pyx_L13_resume_from_yield:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4524, __pyx_L1_error) + if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 4550, __pyx_L1_error) __pyx_L5_continue:; } CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - /* "dependency_injector/providers.pyx":4504 + /* "dependency_injector/providers.pyx":4530 * * * def traverse(*providers, types=None): # <<<<<<<<<<<<<< @@ -89829,7 +90128,7 @@ static PyObject *__pyx_gb_19dependency_injector_9providers_30generator20(__pyx_C return __pyx_r; } -/* "dependency_injector/providers.pyx":4527 +/* "dependency_injector/providers.pyx":4553 * * * def isawaitable(obj): # <<<<<<<<<<<<<< @@ -89867,7 +90166,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_ int __pyx_clineno = 0; __Pyx_RefNannySetupContext("isawaitable", 0); - /* "dependency_injector/providers.pyx":4532 + /* "dependency_injector/providers.pyx":4558 * Return False for any object in Python 3.4 or below. * """ * try: # <<<<<<<<<<<<<< @@ -89883,7 +90182,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_ __Pyx_XGOTREF(__pyx_t_3); /*try:*/ { - /* "dependency_injector/providers.pyx":4533 + /* "dependency_injector/providers.pyx":4559 * """ * try: * return inspect.isawaitable(obj) # <<<<<<<<<<<<<< @@ -89891,9 +90190,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_ * return False */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_inspect); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4533, __pyx_L3_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_inspect); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4559, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_isawaitable); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4533, __pyx_L3_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_isawaitable); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4559, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -89908,14 +90207,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_ } __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_obj) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_obj); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4533, __pyx_L3_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4559, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L7_try_return; - /* "dependency_injector/providers.pyx":4532 + /* "dependency_injector/providers.pyx":4558 * Return False for any object in Python 3.4 or below. * """ * try: # <<<<<<<<<<<<<< @@ -89928,7 +90227,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "dependency_injector/providers.pyx":4534 + /* "dependency_injector/providers.pyx":4560 * try: * return inspect.isawaitable(obj) * except AttributeError: # <<<<<<<<<<<<<< @@ -89938,12 +90237,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_ __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError); if (__pyx_t_7) { __Pyx_AddTraceback("dependency_injector.providers.isawaitable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 4534, __pyx_L5_except_error) + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 4560, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_5); - /* "dependency_injector/providers.pyx":4535 + /* "dependency_injector/providers.pyx":4561 * return inspect.isawaitable(obj) * except AttributeError: * return False # <<<<<<<<<<<<<< @@ -89961,7 +90260,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_ goto __pyx_L5_except_error; __pyx_L5_except_error:; - /* "dependency_injector/providers.pyx":4532 + /* "dependency_injector/providers.pyx":4558 * Return False for any object in Python 3.4 or below. * """ * try: # <<<<<<<<<<<<<< @@ -89987,7 +90286,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_ goto __pyx_L0; } - /* "dependency_injector/providers.pyx":4527 + /* "dependency_injector/providers.pyx":4553 * * * def isawaitable(obj): # <<<<<<<<<<<<<< @@ -90008,7 +90307,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_31isawaitable(CYTHON_ return __pyx_r; } -/* "dependency_injector/providers.pyx":4538 +/* "dependency_injector/providers.pyx":4564 * * * def iscoroutinefunction(obj): # <<<<<<<<<<<<<< @@ -90046,7 +90345,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction int __pyx_clineno = 0; __Pyx_RefNannySetupContext("iscoroutinefunction", 0); - /* "dependency_injector/providers.pyx":4543 + /* "dependency_injector/providers.pyx":4569 * Return False for any object in Python 3.4 or below. * """ * try: # <<<<<<<<<<<<<< @@ -90062,7 +90361,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction __Pyx_XGOTREF(__pyx_t_3); /*try:*/ { - /* "dependency_injector/providers.pyx":4544 + /* "dependency_injector/providers.pyx":4570 * """ * try: * return inspect.iscoroutinefunction(obj) # <<<<<<<<<<<<<< @@ -90070,9 +90369,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction * return False */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_inspect); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4544, __pyx_L3_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_inspect); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4570, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_iscoroutinefunction); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4544, __pyx_L3_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_iscoroutinefunction); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4570, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -90087,14 +90386,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction } __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_obj) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_obj); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4544, __pyx_L3_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4570, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L7_try_return; - /* "dependency_injector/providers.pyx":4543 + /* "dependency_injector/providers.pyx":4569 * Return False for any object in Python 3.4 or below. * """ * try: # <<<<<<<<<<<<<< @@ -90107,7 +90406,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "dependency_injector/providers.pyx":4545 + /* "dependency_injector/providers.pyx":4571 * try: * return inspect.iscoroutinefunction(obj) * except AttributeError: # <<<<<<<<<<<<<< @@ -90117,12 +90416,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError); if (__pyx_t_7) { __Pyx_AddTraceback("dependency_injector.providers.iscoroutinefunction", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 4545, __pyx_L5_except_error) + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 4571, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_5); - /* "dependency_injector/providers.pyx":4546 + /* "dependency_injector/providers.pyx":4572 * return inspect.iscoroutinefunction(obj) * except AttributeError: * return False # <<<<<<<<<<<<<< @@ -90140,7 +90439,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction goto __pyx_L5_except_error; __pyx_L5_except_error:; - /* "dependency_injector/providers.pyx":4543 + /* "dependency_injector/providers.pyx":4569 * Return False for any object in Python 3.4 or below. * """ * try: # <<<<<<<<<<<<<< @@ -90166,7 +90465,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction goto __pyx_L0; } - /* "dependency_injector/providers.pyx":4538 + /* "dependency_injector/providers.pyx":4564 * * * def iscoroutinefunction(obj): # <<<<<<<<<<<<<< @@ -90187,7 +90486,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_33iscoroutinefunction return __pyx_r; } -/* "dependency_injector/providers.pyx":4549 +/* "dependency_injector/providers.pyx":4575 * * * def isasyncgenfunction(obj): # <<<<<<<<<<<<<< @@ -90225,7 +90524,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction( int __pyx_clineno = 0; __Pyx_RefNannySetupContext("isasyncgenfunction", 0); - /* "dependency_injector/providers.pyx":4554 + /* "dependency_injector/providers.pyx":4580 * Return False for any object in Python 3.4 or below. * """ * try: # <<<<<<<<<<<<<< @@ -90241,7 +90540,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction( __Pyx_XGOTREF(__pyx_t_3); /*try:*/ { - /* "dependency_injector/providers.pyx":4555 + /* "dependency_injector/providers.pyx":4581 * """ * try: * return inspect.isasyncgenfunction(obj) # <<<<<<<<<<<<<< @@ -90249,9 +90548,9 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction( * return False */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_inspect); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4555, __pyx_L3_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_inspect); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4581, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_isasyncgenfunction); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4555, __pyx_L3_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_isasyncgenfunction); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 4581, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -90266,14 +90565,14 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction( } __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_obj) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_obj); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4555, __pyx_L3_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4581, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L7_try_return; - /* "dependency_injector/providers.pyx":4554 + /* "dependency_injector/providers.pyx":4580 * Return False for any object in Python 3.4 or below. * """ * try: # <<<<<<<<<<<<<< @@ -90286,7 +90585,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction( __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "dependency_injector/providers.pyx":4556 + /* "dependency_injector/providers.pyx":4582 * try: * return inspect.isasyncgenfunction(obj) * except AttributeError: # <<<<<<<<<<<<<< @@ -90296,12 +90595,12 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction( __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError); if (__pyx_t_7) { __Pyx_AddTraceback("dependency_injector.providers.isasyncgenfunction", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 4556, __pyx_L5_except_error) + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(1, 4582, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_5); - /* "dependency_injector/providers.pyx":4557 + /* "dependency_injector/providers.pyx":4583 * return inspect.isasyncgenfunction(obj) * except AttributeError: * return False # <<<<<<<<<<<<<< @@ -90319,7 +90618,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction( goto __pyx_L5_except_error; __pyx_L5_except_error:; - /* "dependency_injector/providers.pyx":4554 + /* "dependency_injector/providers.pyx":4580 * Return False for any object in Python 3.4 or below. * """ * try: # <<<<<<<<<<<<<< @@ -90345,7 +90644,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction( goto __pyx_L0; } - /* "dependency_injector/providers.pyx":4549 + /* "dependency_injector/providers.pyx":4575 * * * def isasyncgenfunction(obj): # <<<<<<<<<<<<<< @@ -90366,7 +90665,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_35isasyncgenfunction( return __pyx_r; } -/* "dependency_injector/providers.pyx":4560 +/* "dependency_injector/providers.pyx":4586 * * * cpdef _copy_parent(object from_, object to, dict memo): # <<<<<<<<<<<<<< @@ -90390,14 +90689,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_parent(PyObject int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_copy_parent", 0); - /* "dependency_injector/providers.pyx":4564 + /* "dependency_injector/providers.pyx":4590 * copied_parent = ( * deepcopy(from_.parent, memo) * if is_provider(from_.parent) or is_container_instance(from_.parent) # <<<<<<<<<<<<<< * else from_.parent * ) */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4564, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = (__pyx_f_19dependency_injector_9providers_is_provider(__pyx_t_3, 0) != 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -90406,7 +90705,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_parent(PyObject __pyx_t_2 = __pyx_t_4; goto __pyx_L3_bool_binop_done; } - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4564, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = (__pyx_f_19dependency_injector_9providers_is_container_instance(__pyx_t_3, 0) != 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -90414,32 +90713,32 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_parent(PyObject __pyx_L3_bool_binop_done:; if (__pyx_t_2) { - /* "dependency_injector/providers.pyx":4563 + /* "dependency_injector/providers.pyx":4589 * """Copy and assign provider parent.""" * copied_parent = ( * deepcopy(from_.parent, memo) # <<<<<<<<<<<<<< * if is_provider(from_.parent) or is_container_instance(from_.parent) * else from_.parent */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4563, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4589, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6.__pyx_n = 1; __pyx_t_6.memo = __pyx_v_memo; - __pyx_t_5 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4563, __pyx_L1_error) + __pyx_t_5 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_t_3, 0, &__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4589, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = __pyx_t_5; __pyx_t_5 = 0; } else { - /* "dependency_injector/providers.pyx":4565 + /* "dependency_injector/providers.pyx":4591 * deepcopy(from_.parent, memo) * if is_provider(from_.parent) or is_container_instance(from_.parent) * else from_.parent # <<<<<<<<<<<<<< * ) * to.assign_parent(copied_parent) */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4565, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_, __pyx_n_s_parent); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __pyx_t_5; __pyx_t_5 = 0; @@ -90447,14 +90746,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_parent(PyObject __pyx_v_copied_parent = __pyx_t_1; __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4567 + /* "dependency_injector/providers.pyx":4593 * else from_.parent * ) * to.assign_parent(copied_parent) # <<<<<<<<<<<<<< * * */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_to, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4567, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_to, __pyx_n_s_assign_parent); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -90468,12 +90767,12 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_parent(PyObject } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_v_copied_parent) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_copied_parent); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4567, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4560 + /* "dependency_injector/providers.pyx":4586 * * * cpdef _copy_parent(object from_, object to, dict memo): # <<<<<<<<<<<<<< @@ -90535,17 +90834,17 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_38_copy_parent(PyObje case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_to)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 3, 3, 1); __PYX_ERR(1, 4560, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 3, 3, 1); __PYX_ERR(1, 4586, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memo)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 3, 3, 2); __PYX_ERR(1, 4560, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 3, 3, 2); __PYX_ERR(1, 4586, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_parent") < 0)) __PYX_ERR(1, 4560, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_parent") < 0)) __PYX_ERR(1, 4586, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; @@ -90560,13 +90859,13 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_38_copy_parent(PyObje } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4560, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_copy_parent", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4586, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("dependency_injector.providers._copy_parent", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4560, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4586, __pyx_L1_error) __pyx_r = __pyx_pf_19dependency_injector_9providers_37_copy_parent(__pyx_self, __pyx_v_from_, __pyx_v_to, __pyx_v_memo); /* function exit code */ @@ -90587,7 +90886,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_37_copy_parent(CYTHON int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_copy_parent", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_19dependency_injector_9providers__copy_parent(__pyx_v_from_, __pyx_v_to, __pyx_v_memo, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4560, __pyx_L1_error) + __pyx_t_1 = __pyx_f_19dependency_injector_9providers__copy_parent(__pyx_v_from_, __pyx_v_to, __pyx_v_memo, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -90604,7 +90903,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_37_copy_parent(CYTHON return __pyx_r; } -/* "dependency_injector/providers.pyx":4570 +/* "dependency_injector/providers.pyx":4596 * * * cpdef object _memorized_duplicate(object instance, dict memo): # <<<<<<<<<<<<<< @@ -90625,14 +90924,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers__memorized_duplicate(P int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_memorized_duplicate", 0); - /* "dependency_injector/providers.pyx":4571 + /* "dependency_injector/providers.pyx":4597 * * cpdef object _memorized_duplicate(object instance, dict memo): * copied = instance.__class__() # <<<<<<<<<<<<<< * memo[id(instance)] = copied * return copied */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4571, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -90646,13 +90945,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers__memorized_duplicate(P } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4571, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_copied = __pyx_t_1; __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4572 + /* "dependency_injector/providers.pyx":4598 * cpdef object _memorized_duplicate(object instance, dict memo): * copied = instance.__class__() * memo[id(instance)] = copied # <<<<<<<<<<<<<< @@ -90661,14 +90960,14 @@ static PyObject *__pyx_f_19dependency_injector_9providers__memorized_duplicate(P */ if (unlikely(__pyx_v_memo == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(1, 4572, __pyx_L1_error) + __PYX_ERR(1, 4598, __pyx_L1_error) } - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_instance); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4572, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_instance); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (unlikely(PyDict_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_v_copied) < 0)) __PYX_ERR(1, 4572, __pyx_L1_error) + if (unlikely(PyDict_SetItem(__pyx_v_memo, __pyx_t_1, __pyx_v_copied) < 0)) __PYX_ERR(1, 4598, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "dependency_injector/providers.pyx":4573 + /* "dependency_injector/providers.pyx":4599 * copied = instance.__class__() * memo[id(instance)] = copied * return copied # <<<<<<<<<<<<<< @@ -90680,7 +90979,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers__memorized_duplicate(P __pyx_r = __pyx_v_copied; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4570 + /* "dependency_injector/providers.pyx":4596 * * * cpdef object _memorized_duplicate(object instance, dict memo): # <<<<<<<<<<<<<< @@ -90736,11 +91035,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_40_memorized_duplicat case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memo)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("_memorized_duplicate", 1, 2, 2, 1); __PYX_ERR(1, 4570, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_memorized_duplicate", 1, 2, 2, 1); __PYX_ERR(1, 4596, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_memorized_duplicate") < 0)) __PYX_ERR(1, 4570, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_memorized_duplicate") < 0)) __PYX_ERR(1, 4596, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -90753,13 +91052,13 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_40_memorized_duplicat } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_memorized_duplicate", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4570, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_memorized_duplicate", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4596, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("dependency_injector.providers._memorized_duplicate", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4570, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4596, __pyx_L1_error) __pyx_r = __pyx_pf_19dependency_injector_9providers_39_memorized_duplicate(__pyx_self, __pyx_v_instance, __pyx_v_memo); /* function exit code */ @@ -90780,7 +91079,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_39_memorized_duplicat int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_memorized_duplicate", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(__pyx_v_instance, __pyx_v_memo, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4570, __pyx_L1_error) + __pyx_t_1 = __pyx_f_19dependency_injector_9providers__memorized_duplicate(__pyx_v_instance, __pyx_v_memo, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -90797,7 +91096,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_39_memorized_duplicat return __pyx_r; } -/* "dependency_injector/providers.pyx":4576 +/* "dependency_injector/providers.pyx":4602 * * * cpdef object _copy_if_provider(object instance, dict memo): # <<<<<<<<<<<<<< @@ -90817,7 +91116,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_if_provider(PyOb int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_copy_if_provider", 0); - /* "dependency_injector/providers.pyx":4577 + /* "dependency_injector/providers.pyx":4603 * * cpdef object _copy_if_provider(object instance, dict memo): * if not is_provider(instance): # <<<<<<<<<<<<<< @@ -90827,7 +91126,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_if_provider(PyOb __pyx_t_1 = ((!(__pyx_f_19dependency_injector_9providers_is_provider(__pyx_v_instance, 0) != 0)) != 0); if (__pyx_t_1) { - /* "dependency_injector/providers.pyx":4578 + /* "dependency_injector/providers.pyx":4604 * cpdef object _copy_if_provider(object instance, dict memo): * if not is_provider(instance): * return instance # <<<<<<<<<<<<<< @@ -90839,7 +91138,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_if_provider(PyOb __pyx_r = __pyx_v_instance; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4577 + /* "dependency_injector/providers.pyx":4603 * * cpdef object _copy_if_provider(object instance, dict memo): * if not is_provider(instance): # <<<<<<<<<<<<<< @@ -90848,7 +91147,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_if_provider(PyOb */ } - /* "dependency_injector/providers.pyx":4579 + /* "dependency_injector/providers.pyx":4605 * if not is_provider(instance): * return instance * return deepcopy(instance, memo) # <<<<<<<<<<<<<< @@ -90858,13 +91157,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers__copy_if_provider(PyOb __Pyx_XDECREF(__pyx_r); __pyx_t_3.__pyx_n = 1; __pyx_t_3.memo = __pyx_v_memo; - __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_v_instance, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4579, __pyx_L1_error) + __pyx_t_2 = __pyx_f_19dependency_injector_9providers_deepcopy(__pyx_v_instance, 0, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "dependency_injector/providers.pyx":4576 + /* "dependency_injector/providers.pyx":4602 * * * cpdef object _copy_if_provider(object instance, dict memo): # <<<<<<<<<<<<<< @@ -90917,11 +91216,11 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_42_copy_if_provider(P case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memo)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("_copy_if_provider", 1, 2, 2, 1); __PYX_ERR(1, 4576, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_copy_if_provider", 1, 2, 2, 1); __PYX_ERR(1, 4602, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_if_provider") < 0)) __PYX_ERR(1, 4576, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_copy_if_provider") < 0)) __PYX_ERR(1, 4602, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -90934,13 +91233,13 @@ static PyObject *__pyx_pw_19dependency_injector_9providers_42_copy_if_provider(P } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_copy_if_provider", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4576, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_copy_if_provider", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 4602, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("dependency_injector.providers._copy_if_provider", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4576, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memo), (&PyDict_Type), 1, "memo", 1))) __PYX_ERR(1, 4602, __pyx_L1_error) __pyx_r = __pyx_pf_19dependency_injector_9providers_41_copy_if_provider(__pyx_self, __pyx_v_instance, __pyx_v_memo); /* function exit code */ @@ -90961,7 +91260,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_41_copy_if_provider(C int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_copy_if_provider", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_v_instance, __pyx_v_memo, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4576, __pyx_L1_error) + __pyx_t_1 = __pyx_f_19dependency_injector_9providers__copy_if_provider(__pyx_v_instance, __pyx_v_memo, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -90978,7 +91277,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_41_copy_if_provider(C return __pyx_r; } -/* "dependency_injector/providers.pyx":4582 +/* "dependency_injector/providers.pyx":4608 * * * cpdef str _class_qualname(object instance): # <<<<<<<<<<<<<< @@ -91001,49 +91300,49 @@ static PyObject *__pyx_f_19dependency_injector_9providers__class_qualname(PyObje int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_class_qualname", 0); - /* "dependency_injector/providers.pyx":4583 + /* "dependency_injector/providers.pyx":4609 * * cpdef str _class_qualname(object instance): * name = getattr(instance.__class__, '__qualname__', None) # <<<<<<<<<<<<<< * if not name: * name = '.'.join((instance.__class__.__module__, instance.__class__.__name__)) */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4583, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_GetAttr3(__pyx_t_1, __pyx_n_s_qualname, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4583, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetAttr3(__pyx_t_1, __pyx_n_s_qualname, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_name = __pyx_t_2; __pyx_t_2 = 0; - /* "dependency_injector/providers.pyx":4584 + /* "dependency_injector/providers.pyx":4610 * cpdef str _class_qualname(object instance): * name = getattr(instance.__class__, '__qualname__', None) * if not name: # <<<<<<<<<<<<<< * name = '.'.join((instance.__class__.__module__, instance.__class__.__name__)) * return name */ - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_name); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 4584, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_name); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 4610, __pyx_L1_error) __pyx_t_4 = ((!__pyx_t_3) != 0); if (__pyx_t_4) { - /* "dependency_injector/providers.pyx":4585 + /* "dependency_injector/providers.pyx":4611 * name = getattr(instance.__class__, '__qualname__', None) * if not name: * name = '.'.join((instance.__class__.__module__, instance.__class__.__name__)) # <<<<<<<<<<<<<< * return name */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4585, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_module); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4585, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_module); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4585, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_instance, __pyx_n_s_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4585, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4585, __pyx_L1_error) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); @@ -91051,13 +91350,13 @@ static PyObject *__pyx_f_19dependency_injector_9providers__class_qualname(PyObje PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyString_Join(__pyx_kp_s__6, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4585, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyString_Join(__pyx_kp_s__6, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_5); __pyx_t_5 = 0; - /* "dependency_injector/providers.pyx":4584 + /* "dependency_injector/providers.pyx":4610 * cpdef str _class_qualname(object instance): * name = getattr(instance.__class__, '__qualname__', None) * if not name: # <<<<<<<<<<<<<< @@ -91066,18 +91365,18 @@ static PyObject *__pyx_f_19dependency_injector_9providers__class_qualname(PyObje */ } - /* "dependency_injector/providers.pyx":4586 + /* "dependency_injector/providers.pyx":4612 * if not name: * name = '.'.join((instance.__class__.__module__, instance.__class__.__name__)) * return name # <<<<<<<<<<<<<< */ __Pyx_XDECREF(__pyx_r); - if (!(likely(PyString_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_v_name)->tp_name), 0))) __PYX_ERR(1, 4586, __pyx_L1_error) + if (!(likely(PyString_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_v_name)->tp_name), 0))) __PYX_ERR(1, 4612, __pyx_L1_error) __Pyx_INCREF(__pyx_v_name); __pyx_r = ((PyObject*)__pyx_v_name); goto __pyx_L0; - /* "dependency_injector/providers.pyx":4582 + /* "dependency_injector/providers.pyx":4608 * * * cpdef str _class_qualname(object instance): # <<<<<<<<<<<<<< @@ -91121,7 +91420,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_43_class_qualname(CYT int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_class_qualname", 0); __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_f_19dependency_injector_9providers__class_qualname(__pyx_v_instance, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4582, __pyx_L1_error) + __pyx_t_1 = __pyx_f_19dependency_injector_9providers__class_qualname(__pyx_v_instance, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; @@ -109265,18 +109564,18 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_126__pyx_unpickle_Met /* "(tree fragment)":4 * cdef object __pyx_PickleError * cdef object __pyx_result - * if __pyx_checksum != 0xe57552f: # <<<<<<<<<<<<<< + * if __pyx_checksum != 0x3e02ba6: # <<<<<<<<<<<<<< * from pickle import PickleError as __pyx_PickleError - * raise __pyx_PickleError("Incompatible checksums (%s vs 0xe57552f = (__args, __args_len, __async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __provider))" % __pyx_checksum) + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x3e02ba6 = (__args, __args_len, __async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __provides))" % __pyx_checksum) */ - __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xe57552f) != 0); + __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x3e02ba6) != 0); if (__pyx_t_1) { /* "(tree fragment)":5 * cdef object __pyx_result - * if __pyx_checksum != 0xe57552f: + * if __pyx_checksum != 0x3e02ba6: * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< - * raise __pyx_PickleError("Incompatible checksums (%s vs 0xe57552f = (__args, __args_len, __async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __provider))" % __pyx_checksum) + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x3e02ba6 = (__args, __args_len, __async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __provides))" % __pyx_checksum) * __pyx_result = MethodCaller.__new__(__pyx_type) */ __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error) @@ -109295,15 +109594,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_126__pyx_unpickle_Met __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "(tree fragment)":6 - * if __pyx_checksum != 0xe57552f: + * if __pyx_checksum != 0x3e02ba6: * from pickle import PickleError as __pyx_PickleError - * raise __pyx_PickleError("Incompatible checksums (%s vs 0xe57552f = (__args, __args_len, __async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __provider))" % __pyx_checksum) # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x3e02ba6 = (__args, __args_len, __async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __provides))" % __pyx_checksum) # <<<<<<<<<<<<<< * __pyx_result = MethodCaller.__new__(__pyx_type) * if __pyx_state is not None: */ __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xe5, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x3e, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(__pyx_v___pyx_PickleError); @@ -109330,15 +109629,15 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_126__pyx_unpickle_Met /* "(tree fragment)":4 * cdef object __pyx_PickleError * cdef object __pyx_result - * if __pyx_checksum != 0xe57552f: # <<<<<<<<<<<<<< + * if __pyx_checksum != 0x3e02ba6: # <<<<<<<<<<<<<< * from pickle import PickleError as __pyx_PickleError - * raise __pyx_PickleError("Incompatible checksums (%s vs 0xe57552f = (__args, __args_len, __async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __provider))" % __pyx_checksum) + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x3e02ba6 = (__args, __args_len, __async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __provides))" % __pyx_checksum) */ } /* "(tree fragment)":7 * from pickle import PickleError as __pyx_PickleError - * raise __pyx_PickleError("Incompatible checksums (%s vs 0xe57552f = (__args, __args_len, __async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __provider))" % __pyx_checksum) + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x3e02ba6 = (__args, __args_len, __async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __provides))" % __pyx_checksum) * __pyx_result = MethodCaller.__new__(__pyx_type) # <<<<<<<<<<<<<< * if __pyx_state is not None: * __pyx_unpickle_MethodCaller__set_state( __pyx_result, __pyx_state) @@ -109364,7 +109663,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_126__pyx_unpickle_Met __pyx_t_3 = 0; /* "(tree fragment)":8 - * raise __pyx_PickleError("Incompatible checksums (%s vs 0xe57552f = (__args, __args_len, __async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __provider))" % __pyx_checksum) + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x3e02ba6 = (__args, __args_len, __async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __provides))" % __pyx_checksum) * __pyx_result = MethodCaller.__new__(__pyx_type) * if __pyx_state is not None: # <<<<<<<<<<<<<< * __pyx_unpickle_MethodCaller__set_state( __pyx_result, __pyx_state) @@ -109387,7 +109686,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_126__pyx_unpickle_Met __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "(tree fragment)":8 - * raise __pyx_PickleError("Incompatible checksums (%s vs 0xe57552f = (__args, __args_len, __async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __provider))" % __pyx_checksum) + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x3e02ba6 = (__args, __args_len, __async_mode, __kwargs, __kwargs_len, __last_overriding, __overridden, __provides))" % __pyx_checksum) * __pyx_result = MethodCaller.__new__(__pyx_type) * if __pyx_state is not None: # <<<<<<<<<<<<<< * __pyx_unpickle_MethodCaller__set_state( __pyx_result, __pyx_state) @@ -109400,7 +109699,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_126__pyx_unpickle_Met * __pyx_unpickle_MethodCaller__set_state( __pyx_result, __pyx_state) * return __pyx_result # <<<<<<<<<<<<<< * cdef __pyx_unpickle_MethodCaller__set_state(MethodCaller __pyx_result, tuple __pyx_state): - * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provider = __pyx_state[7] + * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provides = __pyx_state[7] */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v___pyx_result); @@ -109433,7 +109732,7 @@ static PyObject *__pyx_pf_19dependency_injector_9providers_126__pyx_unpickle_Met * __pyx_unpickle_MethodCaller__set_state( __pyx_result, __pyx_state) * return __pyx_result * cdef __pyx_unpickle_MethodCaller__set_state(MethodCaller __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< - * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provider = __pyx_state[7] + * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provides = __pyx_state[7] * if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'): */ @@ -109457,7 +109756,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_MethodC /* "(tree fragment)":12 * return __pyx_result * cdef __pyx_unpickle_MethodCaller__set_state(MethodCaller __pyx_result, tuple __pyx_state): - * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provider = __pyx_state[7] # <<<<<<<<<<<<<< + * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provides = __pyx_state[7] # <<<<<<<<<<<<<< * if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'): * __pyx_result.__dict__.update(__pyx_state[8]) */ @@ -109542,16 +109841,15 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_MethodC } __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_19dependency_injector_9providers_Provider))))) __PYX_ERR(2, 12, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_v___pyx_result->__pyx___provider); - __Pyx_DECREF(((PyObject *)__pyx_v___pyx_result->__pyx___provider)); - __pyx_v___pyx_result->__pyx___provider = ((struct __pyx_obj_19dependency_injector_9providers_Provider *)__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->__pyx___provides); + __Pyx_DECREF(__pyx_v___pyx_result->__pyx___provides); + __pyx_v___pyx_result->__pyx___provides = __pyx_t_1; __pyx_t_1 = 0; /* "(tree fragment)":13 * cdef __pyx_unpickle_MethodCaller__set_state(MethodCaller __pyx_result, tuple __pyx_state): - * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provider = __pyx_state[7] + * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provides = __pyx_state[7] * if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< * __pyx_result.__dict__.update(__pyx_state[8]) */ @@ -109573,7 +109871,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_MethodC if (__pyx_t_3) { /* "(tree fragment)":14 - * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provider = __pyx_state[7] + * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provides = __pyx_state[7] * if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'): * __pyx_result.__dict__.update(__pyx_state[8]) # <<<<<<<<<<<<<< */ @@ -109608,7 +109906,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_MethodC /* "(tree fragment)":13 * cdef __pyx_unpickle_MethodCaller__set_state(MethodCaller __pyx_result, tuple __pyx_state): - * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provider = __pyx_state[7] + * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provides = __pyx_state[7] * if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< * __pyx_result.__dict__.update(__pyx_state[8]) */ @@ -109618,7 +109916,7 @@ static PyObject *__pyx_f_19dependency_injector_9providers___pyx_unpickle_MethodC * __pyx_unpickle_MethodCaller__set_state( __pyx_result, __pyx_state) * return __pyx_result * cdef __pyx_unpickle_MethodCaller__set_state(MethodCaller __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< - * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provider = __pyx_state[7] + * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provides = __pyx_state[7] * if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'): */ @@ -123660,7 +123958,7 @@ static PyObject *__pyx_tp_new_19dependency_injector_9providers_MethodCaller(PyTy if (unlikely(!o)) return 0; p = ((struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)o); p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_19dependency_injector_9providers_Provider*)__pyx_vtabptr_19dependency_injector_9providers_MethodCaller; - p->__pyx___provider = ((struct __pyx_obj_19dependency_injector_9providers_Provider *)Py_None); Py_INCREF(Py_None); + p->__pyx___provides = Py_None; Py_INCREF(Py_None); p->__pyx___args = ((PyObject*)Py_None); Py_INCREF(Py_None); p->__pyx___kwargs = ((PyObject*)Py_None); Py_INCREF(Py_None); return o; @@ -123674,7 +123972,7 @@ static void __pyx_tp_dealloc_19dependency_injector_9providers_MethodCaller(PyObj } #endif PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx___provider); + Py_CLEAR(p->__pyx___provides); Py_CLEAR(p->__pyx___args); Py_CLEAR(p->__pyx___kwargs); PyObject_GC_Track(o); @@ -123685,8 +123983,8 @@ static int __pyx_tp_traverse_19dependency_injector_9providers_MethodCaller(PyObj int e; struct __pyx_obj_19dependency_injector_9providers_MethodCaller *p = (struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)o; e = __pyx_tp_traverse_19dependency_injector_9providers_Provider(o, v, a); if (e) return e; - if (p->__pyx___provider) { - e = (*v)(((PyObject *)p->__pyx___provider), a); if (e) return e; + if (p->__pyx___provides) { + e = (*v)(p->__pyx___provides, a); if (e) return e; } if (p->__pyx___args) { e = (*v)(p->__pyx___args, a); if (e) return e; @@ -123701,8 +123999,8 @@ static int __pyx_tp_clear_19dependency_injector_9providers_MethodCaller(PyObject PyObject* tmp; struct __pyx_obj_19dependency_injector_9providers_MethodCaller *p = (struct __pyx_obj_19dependency_injector_9providers_MethodCaller *)o; __pyx_tp_clear_19dependency_injector_9providers_Provider(o); - tmp = ((PyObject*)p->__pyx___provider); - p->__pyx___provider = ((struct __pyx_obj_19dependency_injector_9providers_Provider *)Py_None); Py_INCREF(Py_None); + tmp = ((PyObject*)p->__pyx___provides); + p->__pyx___provides = Py_None; Py_INCREF(Py_None); Py_XDECREF(tmp); tmp = ((PyObject*)p->__pyx___args); p->__pyx___args = ((PyObject*)Py_None); Py_INCREF(Py_None); @@ -123746,18 +124044,21 @@ static PyObject *__pyx_getprop_19dependency_injector_9providers_12MethodCaller_r } static PyMethodDef __pyx_methods_19dependency_injector_9providers_MethodCaller[] = { - {"__deepcopy__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_12MethodCaller_5__deepcopy__, METH_VARARGS|METH_KEYWORDS, 0}, + {"__deepcopy__", (PyCFunction)__pyx_pw_19dependency_injector_9providers_12MethodCaller_5__deepcopy__, METH_O, 0}, {"__getattr__", (PyCFunction)__pyx_pw_19dependency_injector_9providers_12MethodCaller_7__getattr__, METH_O|METH_COEXIST, 0}, {"call", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_12MethodCaller_11call, METH_VARARGS|METH_KEYWORDS, 0}, - {"_provide", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_12MethodCaller_13_provide, METH_VARARGS|METH_KEYWORDS, 0}, - {"_async_provide", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_12MethodCaller_15_async_provide, METH_VARARGS|METH_KEYWORDS, 0}, - {"__reduce_cython__", (PyCFunction)__pyx_pw_19dependency_injector_9providers_12MethodCaller_17__reduce_cython__, METH_NOARGS, 0}, - {"__setstate_cython__", (PyCFunction)__pyx_pw_19dependency_injector_9providers_12MethodCaller_19__setstate_cython__, METH_O, 0}, + {"set_provides", (PyCFunction)__pyx_pw_19dependency_injector_9providers_12MethodCaller_13set_provides, METH_O, __pyx_doc_19dependency_injector_9providers_12MethodCaller_12set_provides}, + {"set_args", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_12MethodCaller_15set_args, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_12MethodCaller_14set_args}, + {"set_kwargs", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_12MethodCaller_17set_kwargs, METH_VARARGS|METH_KEYWORDS, __pyx_doc_19dependency_injector_9providers_12MethodCaller_16set_kwargs}, + {"_provide", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_12MethodCaller_19_provide, METH_VARARGS|METH_KEYWORDS, 0}, + {"_async_provide", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_19dependency_injector_9providers_12MethodCaller_21_async_provide, METH_VARARGS|METH_KEYWORDS, 0}, + {"__reduce_cython__", (PyCFunction)__pyx_pw_19dependency_injector_9providers_12MethodCaller_23__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_19dependency_injector_9providers_12MethodCaller_25__setstate_cython__, METH_O, 0}, {0, 0, 0, 0} }; static struct PyGetSetDef __pyx_getsets_19dependency_injector_9providers_MethodCaller[] = { - {(char *)"provides", __pyx_getprop_19dependency_injector_9providers_12MethodCaller_provides, 0, (char *)"Return provider.", 0}, + {(char *)"provides", __pyx_getprop_19dependency_injector_9providers_12MethodCaller_provides, 0, (char *)"Return provider's provides.", 0}, {(char *)"args", __pyx_getprop_19dependency_injector_9providers_12MethodCaller_args, 0, (char *)"Return positional argument injections.", 0}, {(char *)"kwargs", __pyx_getprop_19dependency_injector_9providers_12MethodCaller_kwargs, 0, (char *)"Return keyword argument injections.", 0}, {(char *)"related", __pyx_getprop_19dependency_injector_9providers_12MethodCaller_related, 0, (char *)"Return related providers generator.", 0}, @@ -127848,7 +128149,6 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_s_Incompatible_checksums_s_vs_0xa2, __pyx_k_Incompatible_checksums_s_vs_0xa2, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xa2), 0, 0, 1, 0}, {&__pyx_kp_s_Incompatible_checksums_s_vs_0xac, __pyx_k_Incompatible_checksums_s_vs_0xac, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xac), 0, 0, 1, 0}, {&__pyx_kp_s_Incompatible_checksums_s_vs_0xce, __pyx_k_Incompatible_checksums_s_vs_0xce, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xce), 0, 0, 1, 0}, - {&__pyx_kp_s_Incompatible_checksums_s_vs_0xe5, __pyx_k_Incompatible_checksums_s_vs_0xe5, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xe5), 0, 0, 1, 0}, {&__pyx_kp_s_Incompatible_checksums_s_vs_0xf2, __pyx_k_Incompatible_checksums_s_vs_0xf2, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xf2), 0, 0, 1, 0}, {&__pyx_kp_s_Incompatible_checksums_s_vs_0xfe, __pyx_k_Incompatible_checksums_s_vs_0xfe, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xfe), 0, 0, 1, 0}, {&__pyx_kp_s_Incompatible_checksums_s_vs_0xff, __pyx_k_Incompatible_checksums_s_vs_0xff, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xff), 0, 0, 1, 0}, @@ -128472,77 +128772,77 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { __Pyx_GIVEREF(__pyx_tuple__54); __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_is_async_resource_subclass, 3582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(1, 3582, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4472 + /* "dependency_injector/providers.pyx":4498 * * * def __add_sys_streams(memo): # <<<<<<<<<<<<<< * """Add system streams to memo dictionary. * */ - __pyx_tuple__56 = PyTuple_Pack(1, __pyx_n_s_memo); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(1, 4472, __pyx_L1_error) + __pyx_tuple__56 = PyTuple_Pack(1, __pyx_n_s_memo); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(1, 4498, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__56); __Pyx_GIVEREF(__pyx_tuple__56); - __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_add_sys_streams, 4472, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(1, 4472, __pyx_L1_error) + __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_add_sys_streams, 4498, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(1, 4498, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4483 + /* "dependency_injector/providers.pyx":4509 * * * def merge_dicts(dict1, dict2): # <<<<<<<<<<<<<< * """Merge dictionaries recursively. * */ - __pyx_tuple__58 = PyTuple_Pack(5, __pyx_n_s_dict1, __pyx_n_s_dict2, __pyx_n_s_key, __pyx_n_s_value, __pyx_n_s_result); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(1, 4483, __pyx_L1_error) + __pyx_tuple__58 = PyTuple_Pack(5, __pyx_n_s_dict1, __pyx_n_s_dict2, __pyx_n_s_key, __pyx_n_s_value, __pyx_n_s_result); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(1, 4509, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__58); __Pyx_GIVEREF(__pyx_tuple__58); - __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_merge_dicts, 4483, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(1, 4483, __pyx_L1_error) + __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_merge_dicts, 4509, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(1, 4509, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4504 + /* "dependency_injector/providers.pyx":4530 * * * def traverse(*providers, types=None): # <<<<<<<<<<<<<< * """Return providers traversal generator.""" * visited = set() */ - __pyx_tuple__60 = PyTuple_Pack(6, __pyx_n_s_types, __pyx_n_s_providers, __pyx_n_s_visited, __pyx_n_s_to_visit, __pyx_n_s_visiting, __pyx_n_s_child); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(1, 4504, __pyx_L1_error) + __pyx_tuple__60 = PyTuple_Pack(6, __pyx_n_s_types, __pyx_n_s_providers, __pyx_n_s_visited, __pyx_n_s_to_visit, __pyx_n_s_visiting, __pyx_n_s_child); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(1, 4530, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__60); __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(0, 1, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_traverse, 4504, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(1, 4504, __pyx_L1_error) + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(0, 1, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_traverse, 4530, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(1, 4530, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4527 + /* "dependency_injector/providers.pyx":4553 * * * def isawaitable(obj): # <<<<<<<<<<<<<< * """Check if object is a coroutine function. * */ - __pyx_tuple__61 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(1, 4527, __pyx_L1_error) + __pyx_tuple__61 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(1, 4553, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__61); __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_isawaitable, 4527, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(1, 4527, __pyx_L1_error) + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_isawaitable, 4553, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(1, 4553, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4538 + /* "dependency_injector/providers.pyx":4564 * * * def iscoroutinefunction(obj): # <<<<<<<<<<<<<< * """Check if object is a coroutine function. * */ - __pyx_tuple__63 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(1, 4538, __pyx_L1_error) + __pyx_tuple__63 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(1, 4564, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__63); __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_iscoroutinefunction, 4538, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(1, 4538, __pyx_L1_error) + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_iscoroutinefunction, 4564, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(1, 4564, __pyx_L1_error) - /* "dependency_injector/providers.pyx":4549 + /* "dependency_injector/providers.pyx":4575 * * * def isasyncgenfunction(obj): # <<<<<<<<<<<<<< * """Check if object is an asynchronous generator function. * */ - __pyx_tuple__65 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(1, 4549, __pyx_L1_error) + __pyx_tuple__65 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(1, 4575, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_isasyncgenfunction, 4549, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(1, 4549, __pyx_L1_error) + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_dependency_injector_provider, __pyx_n_s_isasyncgenfunction, 4575, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(1, 4575, __pyx_L1_error) /* "(tree fragment)":1 * def __pyx_unpickle_Provider(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< @@ -128777,7 +129077,6 @@ static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { __pyx_int_170282226 = PyInt_FromLong(170282226L); if (unlikely(!__pyx_int_170282226)) __PYX_ERR(1, 1, __pyx_L1_error) __pyx_int_180627541 = PyInt_FromLong(180627541L); if (unlikely(!__pyx_int_180627541)) __PYX_ERR(1, 1, __pyx_L1_error) __pyx_int_216322617 = PyInt_FromLong(216322617L); if (unlikely(!__pyx_int_216322617)) __PYX_ERR(1, 1, __pyx_L1_error) - __pyx_int_240604463 = PyInt_FromLong(240604463L); if (unlikely(!__pyx_int_240604463)) __PYX_ERR(1, 1, __pyx_L1_error) __pyx_int_254598103 = PyInt_FromLong(254598103L); if (unlikely(!__pyx_int_254598103)) __PYX_ERR(1, 1, __pyx_L1_error) __pyx_int_267092376 = PyInt_FromLong(267092376L); if (unlikely(!__pyx_int_267092376)) __PYX_ERR(1, 1, __pyx_L1_error) __pyx_int_267861151 = PyInt_FromLong(267861151L); if (unlikely(!__pyx_int_267861151)) __PYX_ERR(1, 1, __pyx_L1_error) @@ -129904,18 +130203,18 @@ static int __Pyx_modinit_type_init_code(void) { if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MethodCaller, (PyObject *)&__pyx_type_19dependency_injector_9providers_MethodCaller) < 0) __PYX_ERR(1, 4096, __pyx_L1_error) if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_MethodCaller) < 0) __PYX_ERR(1, 4096, __pyx_L1_error) __pyx_ptype_19dependency_injector_9providers_MethodCaller = &__pyx_type_19dependency_injector_9providers_MethodCaller; - if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Injection) < 0) __PYX_ERR(1, 4212, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_Injection) < 0) __PYX_ERR(1, 4238, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_19dependency_injector_9providers_Injection.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_Injection.tp_dictoffset && __pyx_type_19dependency_injector_9providers_Injection.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_19dependency_injector_9providers_Injection.tp_getattro = __Pyx_PyObject_GenericGetAttr; } - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Injection, (PyObject *)&__pyx_type_19dependency_injector_9providers_Injection) < 0) __PYX_ERR(1, 4212, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Injection) < 0) __PYX_ERR(1, 4212, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Injection, (PyObject *)&__pyx_type_19dependency_injector_9providers_Injection) < 0) __PYX_ERR(1, 4238, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_Injection) < 0) __PYX_ERR(1, 4238, __pyx_L1_error) __pyx_ptype_19dependency_injector_9providers_Injection = &__pyx_type_19dependency_injector_9providers_Injection; __pyx_type_19dependency_injector_9providers_PositionalInjection.tp_base = __pyx_ptype_19dependency_injector_9providers_Injection; - if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_PositionalInjection) < 0) __PYX_ERR(1, 4216, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_PositionalInjection) < 0) __PYX_ERR(1, 4242, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_19dependency_injector_9providers_PositionalInjection.tp_print = 0; #endif @@ -129924,7 +130223,7 @@ static int __Pyx_modinit_type_init_code(void) { } #if CYTHON_COMPILING_IN_CPYTHON { - PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_PositionalInjection, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 4216, __pyx_L1_error) + PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_PositionalInjection, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 4242, __pyx_L1_error) if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { __pyx_wrapperbase_19dependency_injector_9providers_19PositionalInjection___init__ = *((PyWrapperDescrObject *)wrapper)->d_base; __pyx_wrapperbase_19dependency_injector_9providers_19PositionalInjection___init__.doc = __pyx_doc_19dependency_injector_9providers_19PositionalInjection___init__; @@ -129932,11 +130231,11 @@ static int __Pyx_modinit_type_init_code(void) { } } #endif - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PositionalInjection, (PyObject *)&__pyx_type_19dependency_injector_9providers_PositionalInjection) < 0) __PYX_ERR(1, 4216, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_PositionalInjection) < 0) __PYX_ERR(1, 4216, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PositionalInjection, (PyObject *)&__pyx_type_19dependency_injector_9providers_PositionalInjection) < 0) __PYX_ERR(1, 4242, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_PositionalInjection) < 0) __PYX_ERR(1, 4242, __pyx_L1_error) __pyx_ptype_19dependency_injector_9providers_PositionalInjection = &__pyx_type_19dependency_injector_9providers_PositionalInjection; __pyx_type_19dependency_injector_9providers_NamedInjection.tp_base = __pyx_ptype_19dependency_injector_9providers_Injection; - if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_NamedInjection) < 0) __PYX_ERR(1, 4244, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_NamedInjection) < 0) __PYX_ERR(1, 4270, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_19dependency_injector_9providers_NamedInjection.tp_print = 0; #endif @@ -129945,7 +130244,7 @@ static int __Pyx_modinit_type_init_code(void) { } #if CYTHON_COMPILING_IN_CPYTHON { - PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_NamedInjection, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 4244, __pyx_L1_error) + PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_NamedInjection, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 4270, __pyx_L1_error) if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { __pyx_wrapperbase_19dependency_injector_9providers_14NamedInjection___init__ = *((PyWrapperDescrObject *)wrapper)->d_base; __pyx_wrapperbase_19dependency_injector_9providers_14NamedInjection___init__.doc = __pyx_doc_19dependency_injector_9providers_14NamedInjection___init__; @@ -129953,10 +130252,10 @@ static int __Pyx_modinit_type_init_code(void) { } } #endif - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NamedInjection, (PyObject *)&__pyx_type_19dependency_injector_9providers_NamedInjection) < 0) __PYX_ERR(1, 4244, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_NamedInjection) < 0) __PYX_ERR(1, 4244, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NamedInjection, (PyObject *)&__pyx_type_19dependency_injector_9providers_NamedInjection) < 0) __PYX_ERR(1, 4270, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_NamedInjection) < 0) __PYX_ERR(1, 4270, __pyx_L1_error) __pyx_ptype_19dependency_injector_9providers_NamedInjection = &__pyx_type_19dependency_injector_9providers_NamedInjection; - if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_OverridingContext) < 0) __PYX_ERR(1, 4314, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_OverridingContext) < 0) __PYX_ERR(1, 4340, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_19dependency_injector_9providers_OverridingContext.tp_print = 0; #endif @@ -129965,7 +130264,7 @@ static int __Pyx_modinit_type_init_code(void) { } #if CYTHON_COMPILING_IN_CPYTHON { - PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_OverridingContext, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 4314, __pyx_L1_error) + PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_19dependency_injector_9providers_OverridingContext, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(1, 4340, __pyx_L1_error) if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { __pyx_wrapperbase_19dependency_injector_9providers_17OverridingContext___init__ = *((PyWrapperDescrObject *)wrapper)->d_base; __pyx_wrapperbase_19dependency_injector_9providers_17OverridingContext___init__.doc = __pyx_doc_19dependency_injector_9providers_17OverridingContext___init__; @@ -129973,40 +130272,40 @@ static int __Pyx_modinit_type_init_code(void) { } } #endif - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_OverridingContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_OverridingContext) < 0) __PYX_ERR(1, 4314, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_OverridingContext) < 0) __PYX_ERR(1, 4314, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_OverridingContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_OverridingContext) < 0) __PYX_ERR(1, 4340, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_OverridingContext) < 0) __PYX_ERR(1, 4340, __pyx_L1_error) __pyx_ptype_19dependency_injector_9providers_OverridingContext = &__pyx_type_19dependency_injector_9providers_OverridingContext; - if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext) < 0) __PYX_ERR(1, 4350, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext) < 0) __PYX_ERR(1, 4376, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_19dependency_injector_9providers_BaseSingletonResetContext.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext.tp_dictoffset && __pyx_type_19dependency_injector_9providers_BaseSingletonResetContext.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_19dependency_injector_9providers_BaseSingletonResetContext.tp_getattro = __Pyx_PyObject_GenericGetAttr; } - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BaseSingletonResetContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext) < 0) __PYX_ERR(1, 4350, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext) < 0) __PYX_ERR(1, 4350, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BaseSingletonResetContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext) < 0) __PYX_ERR(1, 4376, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext) < 0) __PYX_ERR(1, 4376, __pyx_L1_error) __pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext = &__pyx_type_19dependency_injector_9providers_BaseSingletonResetContext; __pyx_type_19dependency_injector_9providers_SingletonResetContext.tp_base = __pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext; - if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_SingletonResetContext) < 0) __PYX_ERR(1, 4363, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_SingletonResetContext) < 0) __PYX_ERR(1, 4389, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_19dependency_injector_9providers_SingletonResetContext.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_SingletonResetContext.tp_dictoffset && __pyx_type_19dependency_injector_9providers_SingletonResetContext.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_19dependency_injector_9providers_SingletonResetContext.tp_getattro = __Pyx_PyObject_GenericGetAttr; } - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SingletonResetContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_SingletonResetContext) < 0) __PYX_ERR(1, 4363, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_SingletonResetContext) < 0) __PYX_ERR(1, 4363, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SingletonResetContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_SingletonResetContext) < 0) __PYX_ERR(1, 4389, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_SingletonResetContext) < 0) __PYX_ERR(1, 4389, __pyx_L1_error) __pyx_ptype_19dependency_injector_9providers_SingletonResetContext = &__pyx_type_19dependency_injector_9providers_SingletonResetContext; __pyx_type_19dependency_injector_9providers_SingletonFullResetContext.tp_base = __pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext; - if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_SingletonFullResetContext) < 0) __PYX_ERR(1, 4369, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_19dependency_injector_9providers_SingletonFullResetContext) < 0) __PYX_ERR(1, 4395, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_19dependency_injector_9providers_SingletonFullResetContext.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_19dependency_injector_9providers_SingletonFullResetContext.tp_dictoffset && __pyx_type_19dependency_injector_9providers_SingletonFullResetContext.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_19dependency_injector_9providers_SingletonFullResetContext.tp_getattro = __Pyx_PyObject_GenericGetAttr; } - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SingletonFullResetContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_SingletonFullResetContext) < 0) __PYX_ERR(1, 4369, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_SingletonFullResetContext) < 0) __PYX_ERR(1, 4369, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SingletonFullResetContext, (PyObject *)&__pyx_type_19dependency_injector_9providers_SingletonFullResetContext) < 0) __PYX_ERR(1, 4395, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_19dependency_injector_9providers_SingletonFullResetContext) < 0) __PYX_ERR(1, 4395, __pyx_L1_error) __pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext = &__pyx_type_19dependency_injector_9providers_SingletonFullResetContext; if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct____get__) < 0) __PYX_ERR(1, 370, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 @@ -130192,7 +130491,7 @@ static int __Pyx_modinit_type_init_code(void) { __pyx_type_19dependency_injector_9providers___pyx_scope_struct_22___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; } __pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_22___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_22___get__; - if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_23___get__) < 0) __PYX_ERR(1, 4174, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_23___get__) < 0) __PYX_ERR(1, 4199, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_19dependency_injector_9providers___pyx_scope_struct_23___get__.tp_print = 0; #endif @@ -130200,7 +130499,7 @@ static int __Pyx_modinit_type_init_code(void) { __pyx_type_19dependency_injector_9providers___pyx_scope_struct_23___get__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; } __pyx_ptype_19dependency_injector_9providers___pyx_scope_struct_23___get__ = &__pyx_type_19dependency_injector_9providers___pyx_scope_struct_23___get__; - if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_24_traverse) < 0) __PYX_ERR(1, 4504, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_19dependency_injector_9providers___pyx_scope_struct_24_traverse) < 0) __PYX_ERR(1, 4530, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_19dependency_injector_9providers___pyx_scope_struct_24_traverse.tp_print = 0; #endif @@ -132016,14 +132315,14 @@ if (!__Pyx_RefNanny) { __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; PyType_Modified(__pyx_ptype_19dependency_injector_9providers_Resource); - /* "dependency_injector/providers.pyx":4375 + /* "dependency_injector/providers.pyx":4401 * * * CHILD_PROVIDERS = (Dependency, DependenciesContainer, Container) # <<<<<<<<<<<<<< * * */ - __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4375, __pyx_L1_error) + __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dependency)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Dependency)); @@ -132034,79 +132333,79 @@ if (!__Pyx_RefNanny) { __Pyx_INCREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container)); __Pyx_GIVEREF(((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container)); PyTuple_SET_ITEM(__pyx_t_8, 2, ((PyObject *)__pyx_ptype_19dependency_injector_9providers_Container)); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_CHILD_PROVIDERS, __pyx_t_8) < 0) __PYX_ERR(1, 4375, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_CHILD_PROVIDERS, __pyx_t_8) < 0) __PYX_ERR(1, 4401, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "dependency_injector/providers.pyx":4472 + /* "dependency_injector/providers.pyx":4498 * * * def __add_sys_streams(memo): # <<<<<<<<<<<<<< * """Add system streams to memo dictionary. * */ - __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_25__add_sys_streams, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4472, __pyx_L1_error) + __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_25__add_sys_streams, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_add_sys_streams, __pyx_t_8) < 0) __PYX_ERR(1, 4472, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_add_sys_streams, __pyx_t_8) < 0) __PYX_ERR(1, 4498, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "dependency_injector/providers.pyx":4483 + /* "dependency_injector/providers.pyx":4509 * * * def merge_dicts(dict1, dict2): # <<<<<<<<<<<<<< * """Merge dictionaries recursively. * */ - __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_27merge_dicts, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4483, __pyx_L1_error) + __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_27merge_dicts, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_merge_dicts, __pyx_t_8) < 0) __PYX_ERR(1, 4483, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_merge_dicts, __pyx_t_8) < 0) __PYX_ERR(1, 4509, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "dependency_injector/providers.pyx":4504 + /* "dependency_injector/providers.pyx":4530 * * * def traverse(*providers, types=None): # <<<<<<<<<<<<<< * """Return providers traversal generator.""" * visited = set() */ - __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_29traverse, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4504, __pyx_L1_error) + __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_29traverse, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_traverse, __pyx_t_8) < 0) __PYX_ERR(1, 4504, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_traverse, __pyx_t_8) < 0) __PYX_ERR(1, 4530, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "dependency_injector/providers.pyx":4527 + /* "dependency_injector/providers.pyx":4553 * * * def isawaitable(obj): # <<<<<<<<<<<<<< * """Check if object is a coroutine function. * */ - __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_32isawaitable, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4527, __pyx_L1_error) + __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_32isawaitable, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_isawaitable, __pyx_t_8) < 0) __PYX_ERR(1, 4527, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_isawaitable, __pyx_t_8) < 0) __PYX_ERR(1, 4553, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "dependency_injector/providers.pyx":4538 + /* "dependency_injector/providers.pyx":4564 * * * def iscoroutinefunction(obj): # <<<<<<<<<<<<<< * """Check if object is a coroutine function. * */ - __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_34iscoroutinefunction, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4538, __pyx_L1_error) + __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_34iscoroutinefunction, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_iscoroutinefunction, __pyx_t_8) < 0) __PYX_ERR(1, 4538, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_iscoroutinefunction, __pyx_t_8) < 0) __PYX_ERR(1, 4564, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "dependency_injector/providers.pyx":4549 + /* "dependency_injector/providers.pyx":4575 * * * def isasyncgenfunction(obj): # <<<<<<<<<<<<<< * """Check if object is an asynchronous generator function. * */ - __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_36isasyncgenfunction, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4549, __pyx_L1_error) + __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_36isasyncgenfunction, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 4575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_isasyncgenfunction, __pyx_t_8) < 0) __PYX_ERR(1, 4549, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_isasyncgenfunction, __pyx_t_8) < 0) __PYX_ERR(1, 4575, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* "(tree fragment)":1 @@ -132563,7 +132862,7 @@ if (!__Pyx_RefNanny) { * __pyx_unpickle_MethodCaller__set_state( __pyx_result, __pyx_state) * return __pyx_result * cdef __pyx_unpickle_MethodCaller__set_state(MethodCaller __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< - * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provider = __pyx_state[7] + * __pyx_result.__args = __pyx_state[0]; __pyx_result.__args_len = __pyx_state[1]; __pyx_result.__async_mode = __pyx_state[2]; __pyx_result.__kwargs = __pyx_state[3]; __pyx_result.__kwargs_len = __pyx_state[4]; __pyx_result.__last_overriding = __pyx_state[5]; __pyx_result.__overridden = __pyx_state[6]; __pyx_result.__provides = __pyx_state[7] * if len(__pyx_state) > 8 and hasattr(__pyx_result, '__dict__'): */ __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_19dependency_injector_9providers_129__pyx_unpickle_Injection, NULL, __pyx_n_s_dependency_injector_providers); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 1, __pyx_L1_error) diff --git a/src/dependency_injector/providers.pxd b/src/dependency_injector/providers.pxd index cf346765..c83c606e 100644 --- a/src/dependency_injector/providers.pxd +++ b/src/dependency_injector/providers.pxd @@ -255,7 +255,7 @@ cdef class ItemGetter(Provider): cdef class MethodCaller(Provider): - cdef Provider __provider + cdef object __provides cdef tuple __args cdef int __args_len cdef tuple __kwargs diff --git a/src/dependency_injector/providers.pyi b/src/dependency_injector/providers.pyi index e5c58d42..20bc9dda 100644 --- a/src/dependency_injector/providers.pyi +++ b/src/dependency_injector/providers.pyi @@ -447,7 +447,7 @@ class ItemGetter(Provider, ProvidedInstanceFluentInterface): class MethodCaller(Provider, ProvidedInstanceFluentInterface): - def __init__(self, provider: Provider, *args: Injection, **kwargs: Injection) -> None: ... + def __init__(self, provides: Optional[Provider] = None, *args: Injection, **kwargs: Injection) -> None: ... class OverridingContext(Generic[T]): diff --git a/src/dependency_injector/providers.pyx b/src/dependency_injector/providers.pyx index adaa8a26..93491375 100644 --- a/src/dependency_injector/providers.pyx +++ b/src/dependency_injector/providers.pyx @@ -3948,7 +3948,7 @@ cdef class AttributeGetter(Provider): super().__init__() def __repr__(self): - return f'{self.__class__.__name__}(\'{self.__name}\')' + return f'{self.__class__.__name__}(\'{self.name}\')' def __deepcopy__(self, memo): copied = memo.get(id(self)) @@ -4099,35 +4099,33 @@ cdef class MethodCaller(Provider): You should not create this provider directly. See :py:class:`ProvidedInstance` instead. """ - def __init__(self, provider, *args, **kwargs): - self.__provider = provider + def __init__(self, provides=None, *args, **kwargs): + self.__provides = None + self.set_provides(provides) - self.__args = parse_positional_injections(args) - self.__args_len = len(self.__args) + self.__args = tuple() + self.__args_len = 0 + self.set_args(*args) - self.__kwargs = parse_named_injections(kwargs) - self.__kwargs_len = len(self.__kwargs) + self.__kwargs = tuple() + self.__kwargs_len = 0 + self.set_kwargs(**kwargs) super().__init__() def __repr__(self): - return f'{self.__class__.__name__}({self.__provider})' - - def __deepcopy__(self, memo=None): - cdef MethodCaller copied + return f'{self.__class__.__name__}({self.provides})' + def __deepcopy__(self, memo): copied = memo.get(id(self)) if copied is not None: return copied - copied = self.__class__(deepcopy(self.__provider, memo)) - copied.__args = deepcopy(self.__args, memo) - copied.__args_len = self.__args_len - copied.__kwargs = deepcopy(self.__kwargs, memo) - copied.__kwargs_len = self.__kwargs_len - + copied = _memorized_duplicate(self, memo) + copied.set_provides(_copy_if_provider(self.provides, memo)) + copied.set_args(*deepcopy(self.args, memo)) + copied.set_kwargs(**deepcopy(self.kwargs, memo)) self._copy_overridings(copied, memo) - return copied def __getattr__(self, item): @@ -4136,10 +4134,18 @@ cdef class MethodCaller(Provider): def __getitem__(self, item): return ItemGetter(self, item) + def call(self, *args, **kwargs): + return MethodCaller(self, *args, **kwargs) + @property def provides(self): - """Return provider.""" - return self.__provider + """Return provider's provides.""" + return self.__provides + + def set_provides(self, provides): + """Set provider's provides.""" + self.__provides = provides + return self @property def args(self): @@ -4154,6 +4160,17 @@ cdef class MethodCaller(Provider): args.append(arg.__value) return tuple(args) + def set_args(self, *args): + """Set positional argument injections. + + Existing positional argument injections are dropped. + + :return: Reference ``self`` + """ + self.__args = parse_positional_injections(args) + self.__args_len = len(self.__args) + return self + @property def kwargs(self): """Return keyword argument injections.""" @@ -4167,19 +4184,28 @@ cdef class MethodCaller(Provider): kwargs[kwarg.__name] = kwarg.__value return kwargs - def call(self, *args, **kwargs): - return MethodCaller(self, *args, **kwargs) + def set_kwargs(self, **kwargs): + """Set keyword argument injections. + + Existing keyword argument injections are dropped. + + :return: Reference ``self`` + """ + self.__kwargs = parse_named_injections(kwargs) + self.__kwargs_len = len(self.__kwargs) + return self @property def related(self): """Return related providers generator.""" - yield self.__provider + if is_provider(self.provides): + yield self.provides yield from filter(is_provider, self.args) yield from filter(is_provider, self.kwargs.values()) yield from super().related cpdef object _provide(self, tuple args, dict kwargs): - call = self.__provider() + call = self.provides() if __is_future_or_coroutine(call): future_result = asyncio.Future() call = asyncio.ensure_future(call) diff --git a/tests/unit/providers/test_provided_instance_py2_py3.py b/tests/unit/providers/test_provided_instance_py2_py3.py index 1073ae3b..8cad2d19 100644 --- a/tests/unit/providers/test_provided_instance_py2_py3.py +++ b/tests/unit/providers/test_provided_instance_py2_py3.py @@ -155,6 +155,14 @@ class LazyInitTests(unittest.TestCase): self.assertIs(provider.set_provides(providers.Provider()), provider) self.assertIs(provider.set_name('foo'), provider) + def test_method_caller(self): + provides = providers.Object(lambda: 42) + provider = providers.MethodCaller() + provider.set_provides(provides) + self.assertIs(provider.provides, provides) + self.assertEqual(provider(), 42) + self.assertIs(provider.set_provides(providers.Provider()), provider) + class ProvidedInstancePuzzleTests(unittest.TestCase):