Coverage for gws-app/gws/plugin/gbd_geoservices/finder.py: 0%

22 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-04-17 01:37 +0200

1"""GBD Geoservices finder. 

2""" 

3 

4import gws 

5import gws.base.search 

6import gws.base.template 

7import gws.config.util 

8import gws.lib.net 

9 

10 

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

12 

13_DEFAULT_TEMPLATES = [ 

14 gws.Config( 

15 subject='feature.teaser', 

16 type='html', 

17 text=''' 

18 <p>{title}</p> 

19 ''' 

20 ), 

21 gws.Config( 

22 subject='feature.description', 

23 type='html', 

24 text=''' 

25 <p class="head2">{title}</p> 

26 <table> 

27 @for k, v in feature.attributes 

28 <tr><td>{k}</td><td>{v | html}</td></tr> 

29 @end 

30 </table> 

31 ''' 

32 ), 

33] 

34 

35 

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

37 """GBD Geoservices search""" 

38 

39 apiKey: str 

40 """API key.""" 

41 

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

43 supportsKeywordSearch = True 

44 supportsGeometrySearch = True 

45 

46 def configure(self): 

47 self.configure_models() 

48 self.configure_templates() 

49 

50 def configure_templates(self): 

51 return gws.config.util.configure_templates_for(self, extra=_DEFAULT_TEMPLATES) 

52 

53 def configure_models(self): 

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

55 

56 def create_model(self, cfg): 

57 return self.create_child( 

58 gws.ext.object.model, 

59 cfg, 

60 type=self.extType, 

61 apiKey=self.cfg('apiKey'), 

62 )