sec_interp.gui.adapters.layer_resolver module

Layer resolution adapter (Extract phase).

Resolves layer references (ID, name, or object) to QgsMapLayer objects using the QGIS project. Lives in the GUI adapters layer because it depends on QgsProject.instance(); the core layer no longer resolves layers itself.

class sec_interp.gui.adapters.layer_resolver.LayerResolver

Bases: object

Centralized service to resolve and cache QgsMapLayer references.

Acts as a singleton/cache to avoid repeated project.mapLayer() calls within the same processing transaction.

classmethod clear_cache() → None

Clear the internal layer cache.

classmethod invalidate(layer_id: str) → None

Remove a specific layer from the cache.

classmethod resolve(layer_ref: Any, use_cache: bool = True) → QgsMapLayer | None

Resolve a layer reference (ID, name, or object) to a QgsMapLayer.

Parameters:
  • layer_ref – A string (layer ID or name) or a QgsMapLayer object.

  • use_cache – If True, uses the internal dict cache for faster lookups.

Returns:

The resolved QgsMapLayer object if valid, else None.

sec_interp.gui.adapters.layer_resolver.resolve_layer(layer_ref: Any) → QgsMapLayer | None

Resolve a layer reference. (Legacy wrapper).

Delegates to LayerResolver for backward compatibility.