Coverage for gws-app/gws/base/ows/client/model.py: 80%
25 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
1"""OWS model."""
3import gws
4import gws.base.feature
5import gws.base.model
6import gws.config.util
7import gws.lib.crs
8import gws.lib.extent
9import gws.gis.source
12class Object(gws.base.model.default_model.Object):
13 """Generic OWS Model."""
15 serviceProvider: gws.OwsProvider
16 sourceLayers: list[gws.SourceLayer]
18 def configure(self):
19 self.configure_model()
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()
29 def configure_source_layers(self):
30 return gws.config.util.configure_source_layers_for(self, self.serviceProvider.sourceLayers, is_queryable=True)
32 def find_features(self, search, mc):
33 if not self.sourceLayers:
34 return []
35 return [
36 self.feature_from_record(r, mc)
37 for r in self.serviceProvider.get_features(search, self.sourceLayers)
38 ]
40 def props(self, user):
41 return gws.u.merge(
42 super().props(user),
43 canCreate=False,
44 canDelete=False,
45 canWrite=False,
46 )