Coverage for gws-app/gws/plugin/geojson/model.py: 0%

19 statements  

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

1"""GeoJson model.""" 

2 

3from typing import Optional 

4 

5import gws.base.model 

6import gws.config.util 

7import gws.gis.source 

8 

9from . import provider 

10 

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

12 

13 

14# @TODO generally, vector models should be converted to sqlite/gpkg in order to support search 

15 

16class Config(gws.base.model.Config): 

17 provider: Optional[provider.Config] 

18 """GeoJson provider""" 

19 

20 

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

22 """GeoJson Model.""" 

23 

24 serviceProvider: provider.Object 

25 

26 def configure(self): 

27 self.uidName = 'id' 

28 self.geometryName = 'geometry' 

29 self.configure_model() 

30 

31 def configure_provider(self): 

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

33 

34 def find_features(self, search, user, **kwargs): 

35 return [ 

36 self.feature_from_record(rec, user) 

37 for rec in self.serviceProvider.get_records() 

38 ]