mirror of
				https://github.com/ets-labs/python-dependency-injector.git
				synced 2025-10-31 16:07:51 +03:00 
			
		
		
		
	Add another variation of Container provider
This commit is contained in:
		
							parent
							
								
									15cae0c3dc
								
							
						
					
					
						commit
						fd46b6ace5
					
				|  | @ -820,7 +820,6 @@ struct __pyx_obj_19dependency_injector_9providers_Delegate; | |||
| struct __pyx_obj_19dependency_injector_9providers_Dependency; | ||||
| struct __pyx_obj_19dependency_injector_9providers_ExternalDependency; | ||||
| struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer; | ||||
| struct __pyx_obj_19dependency_injector_9providers_Container; | ||||
| struct __pyx_obj_19dependency_injector_9providers_OverridingContext; | ||||
| struct __pyx_obj_19dependency_injector_9providers_Callable; | ||||
| struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable; | ||||
|  | @ -846,6 +845,7 @@ struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton; | |||
| struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton; | ||||
| struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate; | ||||
| struct __pyx_obj_19dependency_injector_9providers_List; | ||||
| struct __pyx_obj_19dependency_injector_9providers_Container; | ||||
| struct __pyx_obj_19dependency_injector_9providers_Injection; | ||||
| struct __pyx_obj_19dependency_injector_9providers_PositionalInjection; | ||||
| struct __pyx_obj_19dependency_injector_9providers_NamedInjection; | ||||
|  | @ -949,19 +949,6 @@ struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer { | |||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":44
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class Container(DependenciesContainer):             # <<<<<<<<<<<<<< | ||||
|  *     cdef object __container | ||||
|  *  | ||||
|  */ | ||||
| struct __pyx_obj_19dependency_injector_9providers_Container { | ||||
|   struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer __pyx_base; | ||||
|   PyObject *__pyx___container; | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":48
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class OverridingContext(object):             # <<<<<<<<<<<<<< | ||||
|  | @ -975,7 +962,7 @@ struct __pyx_obj_19dependency_injector_9providers_OverridingContext { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":54
 | ||||
| /* "providers.pxd":50
 | ||||
|  *  | ||||
|  * # Callable providers | ||||
|  * cdef class Callable(Provider):             # <<<<<<<<<<<<<< | ||||
|  | @ -992,7 +979,7 @@ struct __pyx_obj_19dependency_injector_9providers_Callable { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":66
 | ||||
| /* "providers.pxd":62
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class DelegatedCallable(Callable):             # <<<<<<<<<<<<<< | ||||
|  | @ -1004,7 +991,7 @@ struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":70
 | ||||
| /* "providers.pxd":66
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class AbstractCallable(Callable):             # <<<<<<<<<<<<<< | ||||
|  | @ -1016,7 +1003,7 @@ struct __pyx_obj_19dependency_injector_9providers_AbstractCallable { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":74
 | ||||
| /* "providers.pxd":70
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class CallableDelegate(Delegate):             # <<<<<<<<<<<<<< | ||||
|  | @ -1028,7 +1015,7 @@ struct __pyx_obj_19dependency_injector_9providers_CallableDelegate { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":79
 | ||||
| /* "providers.pxd":75
 | ||||
|  *  | ||||
|  * # Coroutine providers | ||||
|  * cdef class Coroutine(Callable):             # <<<<<<<<<<<<<< | ||||
|  | @ -1040,7 +1027,7 @@ struct __pyx_obj_19dependency_injector_9providers_Coroutine { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":83
 | ||||
| /* "providers.pxd":79
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class DelegatedCoroutine(Coroutine):             # <<<<<<<<<<<<<< | ||||
|  | @ -1052,7 +1039,7 @@ struct __pyx_obj_19dependency_injector_9providers_DelegatedCoroutine { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":87
 | ||||
| /* "providers.pxd":83
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class AbstractCoroutine(Coroutine):             # <<<<<<<<<<<<<< | ||||
|  | @ -1064,7 +1051,7 @@ struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":91
 | ||||
| /* "providers.pxd":87
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class CoroutineDelegate(Delegate):             # <<<<<<<<<<<<<< | ||||
|  | @ -1076,7 +1063,7 @@ struct __pyx_obj_19dependency_injector_9providers_CoroutineDelegate { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":96
 | ||||
| /* "providers.pxd":92
 | ||||
|  *  | ||||
|  * # Configuration providers | ||||
|  * cdef class Configuration(Object):             # <<<<<<<<<<<<<< | ||||
|  | @ -1090,7 +1077,7 @@ struct __pyx_obj_19dependency_injector_9providers_Configuration { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":102
 | ||||
| /* "providers.pxd":98
 | ||||
|  *  | ||||
|  * # Factory providers | ||||
|  * cdef class Factory(Provider):             # <<<<<<<<<<<<<< | ||||
|  | @ -1105,7 +1092,7 @@ struct __pyx_obj_19dependency_injector_9providers_Factory { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":111
 | ||||
| /* "providers.pxd":107
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class DelegatedFactory(Factory):             # <<<<<<<<<<<<<< | ||||
|  | @ -1117,7 +1104,7 @@ struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":115
 | ||||
| /* "providers.pxd":111
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class AbstractFactory(Factory):             # <<<<<<<<<<<<<< | ||||
|  | @ -1129,7 +1116,7 @@ struct __pyx_obj_19dependency_injector_9providers_AbstractFactory { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":119
 | ||||
| /* "providers.pxd":115
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class FactoryDelegate(Delegate):             # <<<<<<<<<<<<<< | ||||
|  | @ -1141,7 +1128,7 @@ struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":123
 | ||||
| /* "providers.pxd":119
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class FactoryAggregate(Provider):             # <<<<<<<<<<<<<< | ||||
|  | @ -1154,7 +1141,7 @@ struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":130
 | ||||
| /* "providers.pxd":126
 | ||||
|  *  | ||||
|  * # Singleton providers | ||||
|  * cdef class BaseSingleton(Provider):             # <<<<<<<<<<<<<< | ||||
|  | @ -1167,7 +1154,7 @@ struct __pyx_obj_19dependency_injector_9providers_BaseSingleton { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":134
 | ||||
| /* "providers.pxd":130
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class Singleton(BaseSingleton):             # <<<<<<<<<<<<<< | ||||
|  | @ -1180,7 +1167,7 @@ struct __pyx_obj_19dependency_injector_9providers_Singleton { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":140
 | ||||
| /* "providers.pxd":136
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class DelegatedSingleton(Singleton):             # <<<<<<<<<<<<<< | ||||
|  | @ -1192,7 +1179,7 @@ struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":144
 | ||||
| /* "providers.pxd":140
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class ThreadSafeSingleton(BaseSingleton):             # <<<<<<<<<<<<<< | ||||
|  | @ -1206,7 +1193,7 @@ struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":151
 | ||||
| /* "providers.pxd":147
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class DelegatedThreadSafeSingleton(ThreadSafeSingleton):             # <<<<<<<<<<<<<< | ||||
|  | @ -1218,7 +1205,7 @@ struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":155
 | ||||
| /* "providers.pxd":151
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class ThreadLocalSingleton(BaseSingleton):             # <<<<<<<<<<<<<< | ||||
|  | @ -1231,7 +1218,7 @@ struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":161
 | ||||
| /* "providers.pxd":157
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class DelegatedThreadLocalSingleton(ThreadLocalSingleton):             # <<<<<<<<<<<<<< | ||||
|  | @ -1243,7 +1230,7 @@ struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":165
 | ||||
| /* "providers.pxd":161
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class AbstractSingleton(BaseSingleton):             # <<<<<<<<<<<<<< | ||||
|  | @ -1255,7 +1242,7 @@ struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":169
 | ||||
| /* "providers.pxd":165
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class SingletonDelegate(Delegate):             # <<<<<<<<<<<<<< | ||||
|  | @ -1267,7 +1254,7 @@ struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":175
 | ||||
| /* "providers.pxd":171
 | ||||
|  * # Miscellaneous providers | ||||
|  *  | ||||
|  * cdef class List(Provider):             # <<<<<<<<<<<<<< | ||||
|  | @ -1281,6 +1268,18 @@ struct __pyx_obj_19dependency_injector_9providers_List { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":178
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class Container(Singleton):             # <<<<<<<<<<<<<< | ||||
|  *     pass | ||||
|  *  | ||||
|  */ | ||||
| struct __pyx_obj_19dependency_injector_9providers_Container { | ||||
|   struct __pyx_obj_19dependency_injector_9providers_Singleton __pyx_base; | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":183
 | ||||
|  *  | ||||
|  * # Injections | ||||
|  | @ -1506,21 +1505,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer *__pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":44
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class Container(DependenciesContainer):             # <<<<<<<<<<<<<< | ||||
|  *     cdef object __container | ||||
|  *  | ||||
|  */ | ||||
| 
 | ||||
| struct __pyx_vtabstruct_19dependency_injector_9providers_Container { | ||||
|   struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer __pyx_base; | ||||
| }; | ||||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_Container *__pyx_vtabptr_19dependency_injector_9providers_Container; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":54
 | ||||
| /* "providers.pxd":50
 | ||||
|  *  | ||||
|  * # Callable providers | ||||
|  * cdef class Callable(Provider):             # <<<<<<<<<<<<<< | ||||
|  | @ -1534,7 +1519,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Callable { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_Callable *__pyx_vtabptr_19dependency_injector_9providers_Callable; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":66
 | ||||
| /* "providers.pxd":62
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class DelegatedCallable(Callable):             # <<<<<<<<<<<<<< | ||||
|  | @ -1548,7 +1533,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCallable { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCallable *__pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":70
 | ||||
| /* "providers.pxd":66
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class AbstractCallable(Callable):             # <<<<<<<<<<<<<< | ||||
|  | @ -1562,7 +1547,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCallable { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCallable *__pyx_vtabptr_19dependency_injector_9providers_AbstractCallable; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":74
 | ||||
| /* "providers.pxd":70
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class CallableDelegate(Delegate):             # <<<<<<<<<<<<<< | ||||
|  | @ -1576,7 +1561,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_CallableDelegate { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_CallableDelegate *__pyx_vtabptr_19dependency_injector_9providers_CallableDelegate; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":79
 | ||||
| /* "providers.pxd":75
 | ||||
|  *  | ||||
|  * # Coroutine providers | ||||
|  * cdef class Coroutine(Callable):             # <<<<<<<<<<<<<< | ||||
|  | @ -1590,7 +1575,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Coroutine { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_Coroutine *__pyx_vtabptr_19dependency_injector_9providers_Coroutine; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":83
 | ||||
| /* "providers.pxd":79
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class DelegatedCoroutine(Coroutine):             # <<<<<<<<<<<<<< | ||||
|  | @ -1604,7 +1589,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCoroutine { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCoroutine *__pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":87
 | ||||
| /* "providers.pxd":83
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class AbstractCoroutine(Coroutine):             # <<<<<<<<<<<<<< | ||||
|  | @ -1618,7 +1603,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCoroutine { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCoroutine *__pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":91
 | ||||
| /* "providers.pxd":87
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class CoroutineDelegate(Delegate):             # <<<<<<<<<<<<<< | ||||
|  | @ -1632,7 +1617,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_CoroutineDelegate { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_CoroutineDelegate *__pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":96
 | ||||
| /* "providers.pxd":92
 | ||||
|  *  | ||||
|  * # Configuration providers | ||||
|  * cdef class Configuration(Object):             # <<<<<<<<<<<<<< | ||||
|  | @ -1646,7 +1631,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration *__pyx_vtabptr_19dependency_injector_9providers_Configuration; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":102
 | ||||
| /* "providers.pxd":98
 | ||||
|  *  | ||||
|  * # Factory providers | ||||
|  * cdef class Factory(Provider):             # <<<<<<<<<<<<<< | ||||
|  | @ -1660,7 +1645,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Factory { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_Factory *__pyx_vtabptr_19dependency_injector_9providers_Factory; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":111
 | ||||
| /* "providers.pxd":107
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class DelegatedFactory(Factory):             # <<<<<<<<<<<<<< | ||||
|  | @ -1674,7 +1659,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory *__pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":115
 | ||||
| /* "providers.pxd":111
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class AbstractFactory(Factory):             # <<<<<<<<<<<<<< | ||||
|  | @ -1688,7 +1673,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory *__pyx_vtabptr_19dependency_injector_9providers_AbstractFactory; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":119
 | ||||
| /* "providers.pxd":115
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class FactoryDelegate(Delegate):             # <<<<<<<<<<<<<< | ||||
|  | @ -1702,7 +1687,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate *__pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":123
 | ||||
| /* "providers.pxd":119
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class FactoryAggregate(Provider):             # <<<<<<<<<<<<<< | ||||
|  | @ -1717,7 +1702,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate *__pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":130
 | ||||
| /* "providers.pxd":126
 | ||||
|  *  | ||||
|  * # Singleton providers | ||||
|  * cdef class BaseSingleton(Provider):             # <<<<<<<<<<<<<< | ||||
|  | @ -1731,7 +1716,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton *__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":134
 | ||||
| /* "providers.pxd":130
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class Singleton(BaseSingleton):             # <<<<<<<<<<<<<< | ||||
|  | @ -1745,7 +1730,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton *__pyx_vtabptr_19dependency_injector_9providers_Singleton; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":140
 | ||||
| /* "providers.pxd":136
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class DelegatedSingleton(Singleton):             # <<<<<<<<<<<<<< | ||||
|  | @ -1759,7 +1744,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton *__pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":144
 | ||||
| /* "providers.pxd":140
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class ThreadSafeSingleton(BaseSingleton):             # <<<<<<<<<<<<<< | ||||
|  | @ -1773,7 +1758,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton *__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":151
 | ||||
| /* "providers.pxd":147
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class DelegatedThreadSafeSingleton(ThreadSafeSingleton):             # <<<<<<<<<<<<<< | ||||
|  | @ -1787,7 +1772,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSing | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSingleton *__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":155
 | ||||
| /* "providers.pxd":151
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class ThreadLocalSingleton(BaseSingleton):             # <<<<<<<<<<<<<< | ||||
|  | @ -1801,7 +1786,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton *__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":161
 | ||||
| /* "providers.pxd":157
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class DelegatedThreadLocalSingleton(ThreadLocalSingleton):             # <<<<<<<<<<<<<< | ||||
|  | @ -1815,7 +1800,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSin | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSingleton *__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":165
 | ||||
| /* "providers.pxd":161
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class AbstractSingleton(BaseSingleton):             # <<<<<<<<<<<<<< | ||||
|  | @ -1829,7 +1814,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton *__pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":169
 | ||||
| /* "providers.pxd":165
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class SingletonDelegate(Delegate):             # <<<<<<<<<<<<<< | ||||
|  | @ -1843,7 +1828,7 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate { | |||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate *__pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":175
 | ||||
| /* "providers.pxd":171
 | ||||
|  * # Miscellaneous providers | ||||
|  *  | ||||
|  * cdef class List(Provider):             # <<<<<<<<<<<<<< | ||||
|  | @ -1856,6 +1841,20 @@ struct __pyx_vtabstruct_19dependency_injector_9providers_List { | |||
| }; | ||||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_List *__pyx_vtabptr_19dependency_injector_9providers_List; | ||||
| 
 | ||||
| 
 | ||||
| /* "providers.pxd":178
 | ||||
|  *  | ||||
|  *  | ||||
|  * cdef class Container(Singleton):             # <<<<<<<<<<<<<< | ||||
|  *     pass | ||||
|  *  | ||||
|  */ | ||||
| 
 | ||||
| struct __pyx_vtabstruct_19dependency_injector_9providers_Container { | ||||
|   struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton __pyx_base; | ||||
| }; | ||||
| static struct __pyx_vtabstruct_19dependency_injector_9providers_Container *__pyx_vtabptr_19dependency_injector_9providers_Container; | ||||
| 
 | ||||
| /* --- Runtime support code (head) --- */ | ||||
| /* Refnanny.proto */ | ||||
| #ifndef CYTHON_REFNANNY | ||||
|  | @ -2478,7 +2477,6 @@ static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_Delegate = 0; | |||
| static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_Dependency = 0; | ||||
| static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_ExternalDependency = 0; | ||||
| static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_DependenciesContainer = 0; | ||||
| static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_Container = 0; | ||||
| static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_OverridingContext = 0; | ||||
| static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_Callable = 0; | ||||
| static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_DelegatedCallable = 0; | ||||
|  | @ -2504,6 +2502,7 @@ static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_DelegatedThrea | |||
| static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_AbstractSingleton = 0; | ||||
| static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_SingletonDelegate = 0; | ||||
| static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_List = 0; | ||||
| static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_Container = 0; | ||||
| static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_Injection = 0; | ||||
| static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_PositionalInjection = 0; | ||||
| static PyTypeObject *__pyx_ptype_19dependency_injector_9providers_NamedInjection = 0; | ||||
|  | @ -11012,83 +11011,83 @@ static int __Pyx_modinit_type_import_code(void) { | |||
|   __pyx_ptype_19dependency_injector_9providers_DependenciesContainer = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DependenciesContainer", sizeof(struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_DependenciesContainer) __PYX_ERR(1, 38, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer = (struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DependenciesContainer->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer)) __PYX_ERR(1, 38, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_Container = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Container", sizeof(struct __pyx_obj_19dependency_injector_9providers_Container), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_Container) __PYX_ERR(1, 44, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_Container = (struct __pyx_vtabstruct_19dependency_injector_9providers_Container*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Container->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Container)) __PYX_ERR(1, 44, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_OverridingContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "OverridingContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_OverridingContext), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_OverridingContext) __PYX_ERR(1, 48, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_OverridingContext) __PYX_ERR(1, 44, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_Callable = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Callable", sizeof(struct __pyx_obj_19dependency_injector_9providers_Callable), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_Callable) __PYX_ERR(1, 54, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_Callable = (struct __pyx_vtabstruct_19dependency_injector_9providers_Callable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Callable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Callable)) __PYX_ERR(1, 54, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_Callable) __PYX_ERR(1, 50, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_Callable = (struct __pyx_vtabstruct_19dependency_injector_9providers_Callable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Callable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Callable)) __PYX_ERR(1, 50, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_DelegatedCallable = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCallable) __PYX_ERR(1, 66, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable)) __PYX_ERR(1, 66, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCallable) __PYX_ERR(1, 62, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable)) __PYX_ERR(1, 62, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_AbstractCallable = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCallable), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_AbstractCallable) __PYX_ERR(1, 70, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_AbstractCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCallable)) __PYX_ERR(1, 70, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_AbstractCallable) __PYX_ERR(1, 66, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_AbstractCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCallable)) __PYX_ERR(1, 66, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_CallableDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "CallableDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CallableDelegate), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_CallableDelegate) __PYX_ERR(1, 74, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_CallableDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CallableDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CallableDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CallableDelegate)) __PYX_ERR(1, 74, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_CallableDelegate) __PYX_ERR(1, 70, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_CallableDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CallableDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CallableDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CallableDelegate)) __PYX_ERR(1, 70, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_Coroutine = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Coroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_Coroutine), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_Coroutine) __PYX_ERR(1, 79, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_Coroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_Coroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Coroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Coroutine)) __PYX_ERR(1, 79, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_Coroutine) __PYX_ERR(1, 75, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_Coroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_Coroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Coroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Coroutine)) __PYX_ERR(1, 75, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCoroutine), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine) __PYX_ERR(1, 83, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine)) __PYX_ERR(1, 83, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine) __PYX_ERR(1, 79, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine)) __PYX_ERR(1, 79, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_AbstractCoroutine = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine) __PYX_ERR(1, 87, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine)) __PYX_ERR(1, 87, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine) __PYX_ERR(1, 83, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine)) __PYX_ERR(1, 83, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_CoroutineDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "CoroutineDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CoroutineDelegate), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate) __PYX_ERR(1, 91, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CoroutineDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate)) __PYX_ERR(1, 91, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate) __PYX_ERR(1, 87, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CoroutineDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate)) __PYX_ERR(1, 87, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_Configuration = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Configuration", sizeof(struct __pyx_obj_19dependency_injector_9providers_Configuration), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_Configuration) __PYX_ERR(1, 96, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_Configuration = (struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Configuration->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Configuration)) __PYX_ERR(1, 96, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_Configuration) __PYX_ERR(1, 92, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_Configuration = (struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Configuration->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Configuration)) __PYX_ERR(1, 92, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_Factory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Factory", sizeof(struct __pyx_obj_19dependency_injector_9providers_Factory), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_Factory) __PYX_ERR(1, 102, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_Factory = (struct __pyx_vtabstruct_19dependency_injector_9providers_Factory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Factory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Factory)) __PYX_ERR(1, 102, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_Factory) __PYX_ERR(1, 98, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_Factory = (struct __pyx_vtabstruct_19dependency_injector_9providers_Factory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Factory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Factory)) __PYX_ERR(1, 98, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_DelegatedFactory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_DelegatedFactory) __PYX_ERR(1, 111, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory)) __PYX_ERR(1, 111, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_DelegatedFactory) __PYX_ERR(1, 107, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory)) __PYX_ERR(1, 107, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_AbstractFactory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractFactory), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_AbstractFactory) __PYX_ERR(1, 115, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_AbstractFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractFactory)) __PYX_ERR(1, 115, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_AbstractFactory) __PYX_ERR(1, 111, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_AbstractFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractFactory)) __PYX_ERR(1, 111, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_FactoryDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "FactoryDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_FactoryDelegate) __PYX_ERR(1, 119, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate)) __PYX_ERR(1, 119, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_FactoryDelegate) __PYX_ERR(1, 115, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate)) __PYX_ERR(1, 115, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_FactoryAggregate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "FactoryAggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_FactoryAggregate) __PYX_ERR(1, 123, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryAggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate)) __PYX_ERR(1, 123, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_FactoryAggregate) __PYX_ERR(1, 119, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryAggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate)) __PYX_ERR(1, 119, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_BaseSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "BaseSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingleton), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_BaseSingleton) __PYX_ERR(1, 130, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_BaseSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_BaseSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton)) __PYX_ERR(1, 130, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_BaseSingleton) __PYX_ERR(1, 126, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_BaseSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_BaseSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton)) __PYX_ERR(1, 126, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_Singleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Singleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_Singleton), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_Singleton) __PYX_ERR(1, 134, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_Singleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Singleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Singleton)) __PYX_ERR(1, 134, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_Singleton) __PYX_ERR(1, 130, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_Singleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Singleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Singleton)) __PYX_ERR(1, 130, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_DelegatedSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton) __PYX_ERR(1, 140, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton)) __PYX_ERR(1, 140, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton) __PYX_ERR(1, 136, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton)) __PYX_ERR(1, 136, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton) __PYX_ERR(1, 144, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton)) __PYX_ERR(1, 144, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton) __PYX_ERR(1, 140, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton)) __PYX_ERR(1, 140, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton) __PYX_ERR(1, 151, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton)) __PYX_ERR(1, 151, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton) __PYX_ERR(1, 147, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton)) __PYX_ERR(1, 147, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton) __PYX_ERR(1, 155, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton)) __PYX_ERR(1, 155, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton) __PYX_ERR(1, 151, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton)) __PYX_ERR(1, 151, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton) __PYX_ERR(1, 161, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton)) __PYX_ERR(1, 161, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton) __PYX_ERR(1, 157, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton)) __PYX_ERR(1, 157, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_AbstractSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_AbstractSingleton) __PYX_ERR(1, 165, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton)) __PYX_ERR(1, 165, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_AbstractSingleton) __PYX_ERR(1, 161, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton)) __PYX_ERR(1, 161, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_SingletonDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_SingletonDelegate) __PYX_ERR(1, 169, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_SingletonDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate)) __PYX_ERR(1, 169, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_SingletonDelegate) __PYX_ERR(1, 165, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_SingletonDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate)) __PYX_ERR(1, 165, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_List = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "List", sizeof(struct __pyx_obj_19dependency_injector_9providers_List), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_List) __PYX_ERR(1, 175, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_List = (struct __pyx_vtabstruct_19dependency_injector_9providers_List*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_List->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_List)) __PYX_ERR(1, 175, __pyx_L1_error) | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_List) __PYX_ERR(1, 171, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_List = (struct __pyx_vtabstruct_19dependency_injector_9providers_List*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_List->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_List)) __PYX_ERR(1, 171, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_Container = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Container", sizeof(struct __pyx_obj_19dependency_injector_9providers_Container), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_Container) __PYX_ERR(1, 178, __pyx_L1_error) | ||||
|   __pyx_vtabptr_19dependency_injector_9providers_Container = (struct __pyx_vtabstruct_19dependency_injector_9providers_Container*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Container->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Container)) __PYX_ERR(1, 178, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_Injection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Injection", sizeof(struct __pyx_obj_19dependency_injector_9providers_Injection), __Pyx_ImportType_CheckSize_Warn); | ||||
|    if (!__pyx_ptype_19dependency_injector_9providers_Injection) __PYX_ERR(1, 183, __pyx_L1_error) | ||||
|   __pyx_ptype_19dependency_injector_9providers_PositionalInjection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "PositionalInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection), __Pyx_ImportType_CheckSize_Warn); | ||||
|  |  | |||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -41,10 +41,6 @@ cdef class DependenciesContainer(Object): | |||
|     cpdef object _override_providers(self, object container) | ||||
| 
 | ||||
| 
 | ||||
| cdef class Container(DependenciesContainer): | ||||
|     cdef object __container | ||||
| 
 | ||||
| 
 | ||||
| cdef class OverridingContext(object): | ||||
|     cdef Provider __overridden | ||||
|     cdef Provider __overriding | ||||
|  | @ -179,6 +175,10 @@ cdef class List(Provider): | |||
|     cpdef object _provide(self, tuple args, dict kwargs) | ||||
| 
 | ||||
| 
 | ||||
| cdef class Container(Singleton): | ||||
|     pass | ||||
| 
 | ||||
| 
 | ||||
| # Injections | ||||
| cdef class Injection(object): | ||||
|     cdef object __value | ||||
|  |  | |||
|  | @ -606,33 +606,6 @@ cdef class DependenciesContainer(Object): | |||
|             provider.override(dependency_provider) | ||||
| 
 | ||||
| 
 | ||||
| cdef class Container(DependenciesContainer): | ||||
| 
 | ||||
|     def __init__(self, object container): | ||||
|         self.__container = container | ||||
|         super().__init__() | ||||
| 
 | ||||
|     @property | ||||
|     def container(self): | ||||
|         return self.__container | ||||
| 
 | ||||
|     def __deepcopy__(self, memo): | ||||
|         """Create and return full copy of provider.""" | ||||
|         cdef DependenciesContainer copied | ||||
| 
 | ||||
|         copied = memo.get(id(self)) | ||||
|         if copied is not None: | ||||
|             return copied | ||||
| 
 | ||||
|         copied = self.__class__(self.__container) | ||||
|         copied.__provides = deepcopy(self.__provides, memo) | ||||
|         copied.__providers = deepcopy(self.__providers, memo) | ||||
| 
 | ||||
|         self._copy_overridings(copied, memo) | ||||
| 
 | ||||
|         return copied | ||||
| 
 | ||||
| 
 | ||||
| cdef class OverridingContext(object): | ||||
|     """Provider overriding context. | ||||
| 
 | ||||
|  | @ -2104,6 +2077,68 @@ cdef class List(Provider): | |||
|         return list(__provide_positional_args(args, self.__args, self.__args_len)) | ||||
| 
 | ||||
| 
 | ||||
| cdef class Container(Singleton): | ||||
| 
 | ||||
|     def __getattr__(self, name): | ||||
|         """Return dependency provider.""" | ||||
|         if name.startswith('__') and name.endswith('__'): | ||||
|             raise AttributeError( | ||||
|                 '\'{cls}\' object has no attribute ' | ||||
|                 '\'{attribute_name}\''.format(cls=self.__class__.__name__, | ||||
|                                               attribute_name=name)) | ||||
| 
 | ||||
|         container = self.__call__() | ||||
|         provider = container.providers.get(name) | ||||
| 
 | ||||
|         if not provider: | ||||
|             provider = Dependency() | ||||
|             setattr(container, name, provider) | ||||
| 
 | ||||
|         return provider | ||||
| 
 | ||||
|     @property | ||||
|     def providers(self): | ||||
|         """Read-only dictionary of dependency providers.""" | ||||
|         container = self.__call__() | ||||
|         return container.providers | ||||
| 
 | ||||
|     def override(self, provider): | ||||
|         """Override provider with another provider. | ||||
| 
 | ||||
|         :param provider: Overriding provider. | ||||
|         :type provider: :py:class:`Provider` | ||||
| 
 | ||||
|         :raise: :py:exc:`dependency_injector.errors.Error` | ||||
| 
 | ||||
|         :return: Overriding context. | ||||
|         :rtype: :py:class:`OverridingContext` | ||||
|         """ | ||||
|         container = self.__call__() | ||||
|         container.override(container) | ||||
|         return super(Container, self).override(provider) | ||||
| 
 | ||||
|     def reset_last_overriding(self): | ||||
|         """Reset last overriding provider. | ||||
| 
 | ||||
|         :raise: :py:exc:`dependency_injector.errors.Error` if provider is not | ||||
|                 overridden. | ||||
| 
 | ||||
|         :rtype: None | ||||
|         """ | ||||
|         container = self.__call() | ||||
|         container.reset_last_overriding() | ||||
|         super(Container, self).reset_last_overriding() | ||||
| 
 | ||||
|     def reset_override(self): | ||||
|         """Reset all overriding providers. | ||||
| 
 | ||||
|         :rtype: None | ||||
|         """ | ||||
|         container = self.__call() | ||||
|         container.reset_override() | ||||
|         super(Container, self).reset_override() | ||||
| 
 | ||||
| 
 | ||||
| cdef class Injection(object): | ||||
|     """Abstract injection class.""" | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user