qgis-tem-loader

qgis plugin for loading TEM geophysical inversion XYZ files as 3D objects
git clone git://src.adamsgaard.dk/qgis-tem-loader # fast
git clone https://src.adamsgaard.dk/qgis-tem-loader.git # slow
Log | Files | Refs | README | LICENSE Back to index

commit 0ab1cf705babb225f32d5da16462d8e1488d29a6
parent d89a807e993cd105228abdd33b6362b3563dc275
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date:   Fri, 15 May 2026 23:24:08 +0200

feat(qgis): add layer filter compatibility helper

Diffstat:
Mtem_loader/tem_loader.py | 5+++++
Mtest/test_core.py | 20++++++++++++++++++++
2 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/tem_loader/tem_loader.py b/tem_loader/tem_loader.py @@ -95,6 +95,11 @@ def _dialog_code(name): return getattr(dialog_code, name) +def _layer_filter(name): + layer_filter = getattr(Qgis, 'LayerFilter', Qgis) + return getattr(layer_filter, name) + + def _write_geopackage_layer(rows, gpkg_path, layer_name, wkb_type, crs, transform_context, action): fields = _build_fields(rows) diff --git a/test/test_core.py b/test/test_core.py @@ -586,6 +586,9 @@ class PluginTests(unittest.TestCase): qtwidgets.QVBoxLayout = FakeVBoxLayout class FakeQgis: + class LayerFilter: + RasterLayer = "RasterLayer" + class WkbType: PointZ = "PointZ" LineStringZ = "LineStringZ" @@ -962,6 +965,23 @@ class PluginTests(unittest.TestCase): plugin._load_xyz.assert_not_called() dialog.options.assert_not_called() + def test_layer_filter_uses_qgis_layer_filter_namespace(self): + module, _, _ = self._import_plugin_module() + + raster_filter = module._layer_filter("RasterLayer") + + self.assertEqual(raster_filter, module.Qgis.LayerFilter.RasterLayer) + + def test_layer_filter_supports_legacy_flat_namespace(self): + module, _, _ = self._import_plugin_module() + + class LegacyQgis: + RasterLayer = "LegacyRasterLayer" + + module.Qgis = LegacyQgis + + self.assertEqual(module._layer_filter("RasterLayer"), "LegacyRasterLayer") + def test_exec_dialog_supports_exec_and_exec_apis(self): module, _, _ = self._import_plugin_module() exec_dialog = Mock()