Coverage for gws-app/gws/base/ows/client/finder.py: 0%
26 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +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 self.configure_source_layers()
26 if not self.sourceLayers:
27 raise gws.Error(f'no queryable layers found in {self.serviceProvider}')
29 def configure_source_layers(self):
30 return gws.config.util.configure_source_layers_for(self, self.serviceProvider.sourceLayers, is_queryable=True)
32 def configure_models(self):
33 return gws.config.util.configure_models_for(self, with_default=True)
35 def create_model(self, cfg):
36 return self.create_child(
37 gws.ext.object.model,
38 cfg,
39 type=self.extType,
40 _defaultProvider=self.serviceProvider,
41 _defaultSourceLayers=self.sourceLayers
42 )