Coverage for gws-app/gws/plugin/qgis/model.py: 100%

16 statements  

« prev     ^ index     » next       coverage.py v7.16.2, created at 2026-10-05 13:35 +0200

1"""Model for features of QGIS project layers.""" 

2 

3from typing import Optional 

4 

5import gws 

6import gws.base.model 

7import gws.base.ows.client 

8import gws.config.util 

9import gws.gis.source 

10 

11from . import provider 

12 

13 

14@gws.ext.config.model('qgis') 

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

16 """Data model for features queried from a QGIS project.""" 

17 

18 provider: Optional[provider.Config] 

19 """QGIS project the features are queried from.""" 

20 sourceLayers: Optional[gws.gis.source.LayerFilter] 

21 """Source layers to query.""" 

22 

23 

24@gws.ext.object.model('qgis') 

25class Object(gws.base.ows.client.model.Object): 

26 """Model for features queried from a QGIS project through QGIS Server.""" 

27 

28 provider: provider.Object 

29 """QGIS provider.""" 

30 

31 def configure_provider(self): 

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