sec_interp.gui.adapters.validation_extractor module
Validation extraction adapter (Extract phase).
Bridges the QGIS object world and the QGIS-agnostic core validation layer by
converting QgsVectorLayer/QgsRasterLayer objects (and project lookups)
into detached LayerMetadata records.
- sec_interp.gui.adapters.validation_extractor.build_validation_params(params: Any) Any
Build a
ValidationParamsfrom aPreviewParamsobject.Converts each QGIS layer reference held by
paramsinto detachedLayerMetadatarecords.- Parameters:
params – A
PreviewParamsinstance holding QGIS layer references.- Returns:
A
ValidationParamswith detached layer metadata.
- sec_interp.gui.adapters.validation_extractor.extract_layer_metadata(layer: qgis.core.QgsMapLayer) LayerMetadata
Extract detached metadata from a QGIS layer object.
- sec_interp.gui.adapters.validation_extractor.extract_raster_metadata(layer: qgis.core.QgsRasterLayer) LayerMetadata
Extract detached metadata from a raster layer.
- sec_interp.gui.adapters.validation_extractor.extract_section_line_metrics(layer_ref: Any, feature_id: int | None = None) tuple[int | None, float | None]
Return
(vertex_count, length)of the section feature.Best-effort and defensive (Extract phase): reads the section line geometry once so the core 2-point invariant can be validated with primitives. Returns
(None, None)when the geometry cannot be read, so the core rule is simply skipped rather than failing the whole validation.- Parameters:
layer_ref – A layer object, ID, or name.
feature_id – Section feature id (first feature when
None).
- Returns:
Tuple of (vertex count, planar length). Both None when unavailable.
- sec_interp.gui.adapters.validation_extractor.extract_vector_metadata(layer: qgis.core.QgsVectorLayer) LayerMetadata
Extract detached metadata from a vector layer.
- sec_interp.gui.adapters.validation_extractor.resolve_layer_metadata(layer_ref: Any) LayerMetadata | None
Resolve a layer reference to detached metadata.
- Parameters:
layer_ref – A layer object, ID, or name.
- Returns:
A
LayerMetadata, or None if the layer cannot be resolved.