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:
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()