Coverage for gws-app/gws/plugin/geojson/finder.py: 100%

22 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2025-10-16 22:59 +0200

1"""GeoJSON Finder.""" 

2 

3from typing import Optional 

4 

5import gws 

6import gws.base.search 

7import gws.config.util 

8 

9from . import provider 

10 

11gws.ext.new.finder('geojson') 

12 

13 

14class Config(gws.base.search.finder.Config): 

15 """GeoJSON Finder configuration.""" 

16 

17 provider: Optional[provider.Config] 

18 """Provider configuration.""" 

19 

20 

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

22 supportsGeometrySearch = True 

23 serviceProvider: provider.Object 

24 

25 def configure(self): 

26 self.configure_provider() 

27 self.configure_models() 

28 self.configure_templates() 

29 

30 def configure_provider(self): 

31 return gws.config.util.configure_service_provider_for(self, provider.Object) 

32 

33 def configure_models(self): 

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

35 

36 def create_model(self, cfg): 

37 return self.create_child( 

38 gws.ext.object.model, 

39 cfg, 

40 type=self.extType, 

41 _defaultProvider=self.serviceProvider, 

42 )