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

1import gws 

2import gws.base.model 

3import gws.base.search 

4import gws.config.util 

5import gws.gis.source 

6 

7 

8class Object(gws.base.search.finder.Object): 

9 """Generic OWS Finder.""" 

10 

11 supportsGeometrySearch = True 

12 serviceProvider: gws.OwsProvider 

13 sourceLayers: list[gws.SourceLayer] 

14 

15 def configure(self): 

16 self.configure_provider() 

17 self.configure_sources() 

18 self.configure_models() 

19 self.configure_templates() 

20 

21 def configure_provider(self): 

22 pass 

23 

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}') 

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 configure_models(self): 

33 return gws.config.util.configure_models_for(self, with_default=True) 

34 

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 )