Coverage for gws-app/gws/base/ows/client/model.py: 0%
24 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
1"""OWS model."""
3import gws
4import gws.base.feature
5import gws.base.model
6import gws.config.util
7import gws.gis.crs
8import gws.gis.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 self.configure_source_layers()
27 def configure_source_layers(self):
28 return gws.config.util.configure_source_layers_for(self, self.serviceProvider.sourceLayers, is_queryable=True)
30 def find_features(self, search, mc):
31 if not self.sourceLayers:
32 return []
33 return [
34 self.feature_from_record(r, mc)
35 for r in self.serviceProvider.get_features(search, self.sourceLayers)
36 ]
38 def props(self, user):
39 return gws.u.merge(
40 super().props(user),
41 canCreate=False,
42 canDelete=False,
43 canWrite=False,
44 )