apptools.type_registry.type_registry module¶
- class apptools.type_registry.type_registry.LazyRegistry[source]¶
Bases:
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. –