betty.plugin.factory module¶
Plugin factories.
- class betty.plugin.factory.PluginManufacturer¶
Bases:
PortableRecord[Attr],Samplable,Data[PluginManufacturerDefinition],HasProps,ABC,Generic[_PluginManufacturerPluginDefinitionT,_PluginManufacturerPluginT]Configure a single plugin instance.
- final __init__(plugin: ResolvablePluginId[~betty.plugin.factory._PluginManufacturerPluginDefinitionT], data: ~betty.data.Data | PortableData | VoidType = <class 'betty.typing.Void'>, /)¶
- final dump() PortableData¶
Dump the instance to portable data.
- Raises:
betty.portable.error.NotPortable – Raised if any part of the data is not portable.
- final dump_key(key: Attr, /) tuple[str, PortableData]¶
Dump the instance to portable data and a portable primary key.
- Raises:
betty.portable.error.NotPortable – Raised if any part of the data is not portable.
- final classmethod load(portable: PortableData, /) Self¶
Create a new instance from portable data.
- Raises:
betty.exception.HumanFacingException – Raised if the portable data is invalid.
- final classmethod load_key(portable: PortableData, key: Attr, portable_key: str, /) Self¶
Create a new instance from portable data and a portable primary key.
- Raises:
betty.exception.HumanFacingException – Raised if the portable data is invalid.
- plugin_data¶
Get the plugin’s own data.
- plugin_id¶
The plugin ID.
- final classmethod resolve(manufacturer: ResolvablePluginManufacturer[_PluginManufacturerPluginDefinitionT, _PluginManufacturerPluginT]) PluginManufacturer[_PluginManufacturerPluginDefinitionT, _PluginManufacturerPluginT]¶
Resolve a value to a plugin manufacturer.
- final classmethod resolve_sequence(manufacturers: ResolvablePluginManufacturerSequence[_PluginManufacturerPluginDefinitionT, _PluginManufacturerPluginT]) MutableSequence[PluginManufacturer[_PluginManufacturerPluginDefinitionT, _PluginManufacturerPluginT]]¶
Resolve a value to a sequence of plugin manufacturers.
- final class betty.plugin.factory.PluginManufacturerDefinition¶
Bases:
ObjectDefinition[PluginManufacturer],GenericDefine a plugin manufacturer.
- __init__(plugin_type: type[Intersection[PluginDefinitionT, PluginClsDefinition[PluginT]]], /)¶
- exception betty.plugin.factory.PluginManufacturerError¶
Bases:
HumanFacingException,FactoryErrorRaised when a plugin manufacturer could not create a new plugin instance.