Coverage for gws-app/gws/plugin/qgis/finder.py: 0%
21 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-16 22:59 +0200
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-16 22:59 +0200
1"""QGIS Server-based Finder."""
3from typing import Optional
5import gws
6import gws.base.model
7import gws.base.search
8import gws.base.ows.client
9import gws.config.util
10import gws.gis.source
12from . import provider
14gws.ext.new.finder('qgis')
17class Config(gws.base.search.finder.Config):
18 """QGIS Server-based Finder configuration."""
20 provider: Optional[provider.Config]
21 """Provider configuration."""
22 sourceLayers: Optional[gws.gis.source.LayerFilter]
23 """Source layers to search for."""
26class Object(gws.base.ows.client.finder.Object):
27 supportsGeometrySearch = True
28 serviceProvider: provider.Object
30 def configure_provider(self):
31 return gws.config.util.configure_service_provider_for(self, provider.Object)
33 def can_run(self, search, user):
34 return (
35 super().can_run(search, user)
36 and bool(search.shape)
37 and search.shape.type == gws.GeometryType.point)