apptools.type_registry.type_registry module¶
-
class
apptools.type_registry.type_registry.
LazyRegistry
[source]¶ Bases:
apptools.type_registry.type_registry.TypeRegistry
A type registry that will lazily import the registered objects.
Register ‘__module__:__name__’ strings for the lazily imported objects. These will only be imported when the matching type is looked up. The module name must be a fully-qualified absolute name with all of the parent packages specified.
-
class
apptools.type_registry.type_registry.
TypeRegistry
[source]¶ Bases:
object
Register objects for types.
Each type maintains a stack of registered objects that can be pushed and popped.
-
lookup
(instance)[source]¶ Look up the registered object for the given instance.
- Parameters
instance (object) – An instance of a possibly registered type.
- Returns
obj – The registered object for the type of the instance, one of the type’s superclasses, or else one of the ABCs the type implements.
- Return type
object
- Raises
KeyError if the instance's type has not been registered. –
-
lookup_all
(instance)[source]¶ Look up all the registered objects for the given instance.
- Parameters
instance (object) – An instance of a possibly registered type.
- Returns
objs – The list of registered objects for the instance. If the given instance is not registered, its superclasses are searched. If none of the superclasses are registered, search the possible ABCs.
- Return type
list of objects
- Raises
KeyError if the instance's type has not been registered. –
-
lookup_all_by_type
(typ)[source]¶ Look up all the registered objects for a type.
- Parameters
typ (type) –
- Returns
objs – The list of registered objects for the type. If the given type is not registered, its superclasses are searched. If none of the superclasses are registered, search the possible ABCs.
- Return type
list of objects
- Raises
KeyError if the type has not been registered. –
-
lookup_by_type
(typ)[source]¶ Look up the registered object for a type.
- Parameters
typ (type) –
- Returns
obj – The registered object for the type, one of its superclasses, or else one of the ABCs it implements.
- Return type
object
- Raises
KeyError if the type has not been registered. –
-
pop
(typ)[source]¶ Pop a registered object for the given type.
- Parameters
typ (type or '__module__:__name__' string for a type) –
- Returns
obj – The last registered object for the type.
- Return type
object
- Raises
KeyError if the type is not registered. –
-