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

1"""OWS model.""" 

2 

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 

10 

11 

12class Object(gws.base.model.default_model.Object): 

13 """Generic OWS Model.""" 

14 

15 serviceProvider: gws.OwsProvider 

16 sourceLayers: list[gws.SourceLayer] 

17 

18 def configure(self): 

19 self.configure_model() 

20 

21 def configure_provider(self): 

22 pass 

23 

24 def configure_sources(self): 

25 gws.u.require(self.serviceProvider, 'failed to configure service provider') 

26 

27 self.configure_source_layers() 

28 

29 def configure_source_layers(self): 

30 return gws.config.util.configure_source_layers_for(self, self.serviceProvider.sourceLayers, is_queryable=True) 

31 

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 ] 

39 

40 def props(self, user): 

41 return gws.u.merge( 

42 super().props(user), 

43 canCreate=False, 

44 canDelete=False, 

45 canWrite=False, 

46 )