aeat.locales._modelo_manager module¶
Typed contract for modelo schema-local locale management.
The runtime registry loader owns how schema-local translations are applied:
modelo-level locale TOML is keyed by continuidad_id and revision-level
locale TOML is keyed by casilla_id. This module gives the locales CLI a
typed authoring contract for ModeloDefinition / ModeloRevision
storage without moving those translations into the eager application YAML
catalogues.
- exception ModeloLocaleError(message=None, *, context=None, suggestion=None, translated_message=None)[source]¶
Bases:
AeatError,ValueErrorRaised when modelo schema-local locale management fails.
- Parameters:
- Return type:
None
- code: ClassVar[ErrorCode]¶
- class ModeloLocaleScope(*values)[source]¶
Bases:
StrEnumRegistry-local file scope for modelo schema translations.
- MODELO¶
- REVISION¶
- class ModeloLocaleFieldKind(*values)[source]¶
Bases:
StrEnumSupported translation tables inside registry-local locale TOML files.
- LABELS¶
- HELP¶
- class ModeloLocaleDriftKind(*values)[source]¶
Bases:
StrEnumSchema-local translation drift categories reported by the manager.
- MISSING¶
- STALE¶
- class ModeloLocaleFileTarget(**data)[source]¶
Bases:
BaseModelOne registry-local locale TOML target.
- Parameters:
locale (OutputLanguage)
modelo_id (str)
scope (ModeloLocaleScope)
revision_id (str | None)
- locale: OutputLanguage¶
- modelo_id: str¶
- scope: ModeloLocaleScope¶
- revision_id: str | None¶
- class ModeloLocaleTranslationFile(**data)[source]¶
Bases:
BaseModelParsed contents of one schema-local locale TOML file.
- Parameters:
- target: ModeloLocaleFileTarget¶
- path: Path¶
- labels: dict[str, str]¶
- help: dict[str, str]¶
- class ModeloLocaleInventoryKey(**data)[source]¶
Bases:
BaseModelOne schema key that can be translated in a registry-local locale file.
- Parameters:
modelo_id (str)
revision_id (str | None)
scope (ModeloLocaleScope)
field (ModeloLocaleFieldKind)
key (str)
source_casilla_id (CasillaId)
source_continuidad_id (str | None)
official_label (str)
- modelo_id: str¶
- revision_id: str | None¶
- scope: ModeloLocaleScope¶
- field: ModeloLocaleFieldKind¶
- key: str¶
- source_casilla_id: CasillaId¶
- source_continuidad_id: str | None¶
- official_label: str¶
- class ModeloLocaleDriftRecord(**data)[source]¶
Bases:
BaseModelOne missing or stale schema-local translation leaf.
- Parameters:
target (ModeloLocaleFileTarget)
field (ModeloLocaleFieldKind)
key (str)
kind (ModeloLocaleDriftKind)
- target: ModeloLocaleFileTarget¶
- field: ModeloLocaleFieldKind¶
- key: str¶
- kind: ModeloLocaleDriftKind¶
- class ModeloLocaleCoverageRecord(**data)[source]¶
Bases:
BaseModelCoverage summary for one modelo revision and locale.
- Parameters:
locale (OutputLanguage)
modelo_id (str)
revision_id (str)
label_required (int)
label_translated (int)
help_required (int)
help_translated (int)
drift (tuple[ModeloLocaleDriftRecord, ...])
- locale: OutputLanguage¶
- modelo_id: str¶
- revision_id: str¶
- label_required: int¶
- label_translated: int¶
- help_required: int¶
- help_translated: int¶
- drift: tuple[ModeloLocaleDriftRecord, ...]¶
- class ModeloLocaleManager(registry_root=None)[source]¶
Bases:
objectPath authority for registry-local modelo schema translation files.
- Parameters:
registry_root (Path | None)
- resolve_modelo_dir(modelo_id)[source]¶
Resolve one directory-mode modelo under the contained registry root.
- Return type:
Path- Parameters:
modelo_id (str)
- resolve_revision_dir(modelo_id, revision_id)[source]¶
Resolve one revision directory under a directory-mode modelo.
- load_modelo(modelo_id)[source]¶
Load a directory-mode
ModeloDefinitionwithout applying locale TOML files.- Return type:
- Parameters:
modelo_id (str)
- inventory_keys(modelo_id, revision_id=None)[source]¶
Return
ModeloLocaleInventoryKeyrows for a modelo.Revision-local records are keyed by
casilla_id. Modelo-local records are keyed bycontinuidad_idand deduplicated across the selected revisions because the target TOML file is modelo-wide.- Return type:
- Parameters:
- drift_records(locale, modelo_id, revision_id)[source]¶
Return
ModeloLocaleDriftRecordrows for missing and stale schema-local leaves.- Return type:
- Parameters:
locale (OutputLanguage | str)
modelo_id (str)
revision_id (str)
- coverage_record(locale, modelo_id, revision_id)[source]¶
Return a
ModeloLocaleCoverageRecordfor one modelo revision.- Return type:
- Parameters:
locale (OutputLanguage | str)
modelo_id (str)
revision_id (str)
- scaffold_revision(locale, modelo_id, revision_id)[source]¶
Align locale TOML targets for one modelo revision.
Missing leaves are inserted with the schema key as an untranslated placeholder. Existing translated values are preserved. Stale leaves are removed because they no longer point at registry-backed schema keys.
- set_translation_value(locale, modelo_id, revision_id, field, key, value)[source]¶
Set one schema-local translated leaf after registry-key validation.
- Return type:
Path- Parameters:
locale (OutputLanguage | str)
modelo_id (str)
revision_id (str)
field (ModeloLocaleFieldKind | str)
key (str)
value (str)
- remove_translation_value(locale, modelo_id, revision_id, field, key)[source]¶
Remove one existing schema-local translated leaf.
- Return type:
Path- Parameters:
locale (OutputLanguage | str)
modelo_id (str)
revision_id (str)
field (ModeloLocaleFieldKind | str)
key (str)
- resolve_target_path(target)[source]¶
Resolve a locale target to a contained TOML file path.
- Return type:
Path- Parameters:
target (ModeloLocaleFileTarget)
- load_translation_file(target, *, require_exists=False)[source]¶
Load a
ModeloLocaleTranslationFile, or return an empty file model.- Return type:
- Parameters:
target (ModeloLocaleFileTarget)
require_exists (bool)
- write_translation_file(translation)[source]¶
Write one schema-local locale TOML file with stable table ordering.
- Return type:
Path- Parameters:
translation (ModeloLocaleTranslationFile)