sec_interp.core.utils.resource_manager module

QGIS resource and theme icon management.

This module provides context managers for handling temporary QGIS resources and system files to ensure proper cleanup and prevent resource leaks.

class sec_interp.core.utils.resource_manager.ResourceManager

Bases: object

Consolidated resource manager for plugin-wide cleanup.

static cleanup_layer(layer: qgis.core.QgsMapLayer) None

Remove a layer safely from the project.

Parameters:

layer – The QGIS map layer to remove.

sec_interp.core.utils.resource_manager.temporary_file(suffix: str | None = None, prefix: str | None = None, dir: str | None = None) Generator[str, None, None]

Context manager for a temporary file path.

Creates a temporary file and yields its absolute path. The file is automatically deleted when the context exits.

Parameters:
  • suffix – File suffix.

  • prefix – File prefix.

  • dir – Directory to create the file in.

Yields:

Absolute path to the temporary file.

sec_interp.core.utils.resource_manager.temporary_memory_layer(uri: str, name: str, provider: str = 'memory') Generator[qgis.core.QgsVectorLayer, None, None]

Context manager for a temporary QGIS memory layer.

The layer is created and optionally added to the project. It is automatically removed from the project and deleted when the context exits.

Parameters:
  • uri – Layer URI (e.g., “LineString?crs=EPSG:4326”).

  • name – Layer name for display.

  • provider – Provider ID (default “memory”).

Yields:

The created temporary layer.