Coverage for gws-app/gws/plugin/geojson/model.py: 100%
19 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-16 22:59 +0200
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-16 22:59 +0200
1"""GeoJSON model."""
3from typing import Optional
5import gws.base.model
6import gws.config.util
7import gws.gis.source
9from . import provider
11gws.ext.new.model('geojson')
14# @TODO generally, vector models should be converted to sqlite/gpkg in order to support search
17class Config(gws.base.model.Config):
18 """Configuration for GeoJSON model."""
20 provider: Optional[provider.Config]
21 """GeoJSON provider."""
24class Object(gws.base.model.default_model.Object):
25 """GeoJSON Model."""
27 serviceProvider: provider.Object
29 def configure(self):
30 self.uidName = 'id'
31 self.geometryName = 'geometry'
32 self.configure_model()
34 def configure_provider(self):
35 return gws.config.util.configure_service_provider_for(self, provider.Object)
37 def find_features(self, search, user, **kwargs):
38 # fmt: off
39 return [
40 self.feature_from_record(rec, user)
41 for rec in self.serviceProvider.get_records(search)
42 ]
43 # fmt: on