capella2polarion.plugins package

A package providing plugin interface related modules.

capella2polarion.plugins.load_plugins() dict[str, type]

Submodules

capella2polarion.plugins.plugin_config module

Plugin configuration classes and functions.

class capella2polarion.plugins.plugin_config.PluginConfig(*, plugin_name: str, init_args: dict[str, Any], args: dict[str, Any])

Bases: BaseModel

Configuration for a plugin config.

args: dict[str, Any]
init_args: dict[str, Any]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

plugin_name: str
capella2polarion.plugins.plugin_config.read_config_file(config: TextIO) list[PluginConfig]

Read a yaml containing a list of PluginConfigs.

capella2polarion.plugins.plugin_interfaces module

Interfaces to implement custom plugins.

class capella2polarion.plugins.plugin_interfaces.AdditionalAttributes(document_rendering_config: TextIO | None, overwrite_layouts: bool, overwrite_numbering: bool, synchronize_config: TextIO | None, force_update: bool, type_prefix: str, role_prefix: str, grouped_links_custom_fields: bool, generate_figure_captions: bool)

Bases: object

Click args not directly related to the plugin, but maybe of interest.

document_rendering_config: TextIO | None
force_update: bool
generate_figure_captions: bool
overwrite_layouts: bool
overwrite_numbering: bool
role_prefix: str
synchronize_config: TextIO | None
type_prefix: str
class capella2polarion.plugins.plugin_interfaces.PluginInterface(capella_polarion_worker: CapellaPolarionWorker, model: MelodyModel, additional_configuration: AdditionalAttributes, **kwargs: Any)

Bases: ABC

A general PluginInterface to be implemented by plugins.

property document_config: DocumentConfigs
property element_config: ConverterConfig
abstract run(**kwargs: Any) None

Run your custom code and send the results to polarion.