ProjectModelRegistry

class glotaran.project.project_model_registry.ProjectModelRegistry(directory: Path)[source]

Bases: ProjectRegistry

A registry for models.

Initialize a model registry.

Parameters:

directory (Path) – The registry directory.

Attributes Summary

directory

Get the registry directory.

empty

Whether the registry is empty.

items

Get the items of the registry.

Methods Summary

generate_model

Generate a model.

is_item

Check if the path contains an registry item.

load_item

Load an registry item by it's name.

markdown

Format the registry items as a markdown text.

Methods Documentation

property directory: Path

Get the registry directory.

Returns:

The registry directory.

Return type:

Path

property empty: bool

Whether the registry is empty.

Returns:

Whether the registry is empty.

Return type:

bool

generate_model(name: str, generator_name: str, generator_arguments: GeneratorArguments, *, allow_overwrite: bool = False, ignore_existing: bool = False)[source]

Generate a model.

Parameters:
  • name (str) – The name of the model.

  • generator_name (str) – The generator for the model.

  • generator_arguments (GeneratorArguments) – Arguments for the generator.

  • allow_overwrite (bool) – Whether to overwrite an existing model.

  • ignore_existing (bool) – Whether to ignore generation of a model file if it already exists.

Raises:

FileExistsError – Raised if model is already existing and allow_overwrite=False.

is_item(path: Path) bool

Check if the path contains an registry item.

Parameters:

path (Path) – The path to check.

Returns:

Whether the path contains an item.

Return type:

bool

property items: ItemMapping

Get the items of the registry.

Returns:

The items of the registry.

Return type:

ItemMapping

load_item(name: str) Any

Load an registry item by it’s name.

Parameters:

name (str) – The item name.

Returns:

The loaded item.

Return type:

Any

Raises:

ValueError – Raise if the item does not exist.

markdown(join_indentation: int = 0) MarkdownStr

Format the registry items as a markdown text.

Parameters:

join_indentation (int) – Number of whitespaces to indent when joining the parts. This is intended to be used with dedent when used in an indented f-string. Defaults to 0.

Returns:

MarkdownStr – The markdown string.

Return type:

str