Coverage for gws-app/gws/base/ows/client/finder.py: 56%
27 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-24 12:46 +0200
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-24 12:46 +0200
1import gws
2import gws.base.model
3import gws.base.search
4import gws.config.util
5import gws.gis.source
8class Object(gws.base.search.finder.Object):
9 """Generic OWS Finder."""
11 supportsGeometrySearch = True
12 serviceProvider: gws.OwsProvider
13 sourceLayers: list[gws.SourceLayer]
15 def configure(self):
16 self.configure_provider()
17 self.configure_sources()
18 self.configure_models()
19 self.configure_templates()
21 def configure_provider(self):
22 pass
24 def configure_sources(self):
25 gws.u.require(self.serviceProvider, 'failed to configure service provider')
27 self.configure_source_layers()
28 if not self.sourceLayers:
29 raise gws.Error(f'no queryable layers in {self.serviceProvider}')
31 def configure_source_layers(self):
32 return gws.config.util.configure_source_layers_for(self, self.serviceProvider.sourceLayers, is_queryable=True)
34 def configure_models(self):
35 return gws.config.util.configure_models_for(self, with_default=True)
37 def create_model(self, cfg):
38 return self.create_child(
39 gws.ext.object.model,
40 cfg,
41 type=self.extType,
42 _defaultProvider=self.serviceProvider,
43 _defaultSourceLayers=self.sourceLayers
44 )