Coverage for gws-app/gws/plugin/ows_client/wms/layer.py: 0%
23 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
1"""WMS tree layer."""
3import gws
4import gws.base.layer
5import gws.config.util
7from . import provider
9gws.ext.new.layer('wms')
12class Config(gws.base.layer.Config, gws.base.layer.tree.Config):
13 provider: provider.Config
14 """WMS provider"""
17class Object(gws.base.layer.group.Object):
18 serviceProvider: provider.Object
20 def configure_group(self):
21 self.configure_provider()
23 def leaf_layer_maker(source_layers):
24 return dict(
25 type='wmsflat',
26 _defaultProvider=self.serviceProvider,
27 _defaultSourceLayers=source_layers,
28 )
30 configs = gws.base.layer.tree.layer_configs_from_layer(
31 self,
32 self.serviceProvider.sourceLayers,
33 leaf_layer_maker,
34 )
36 self.configure_group_layers(configs)
38 def configure_provider(self):
39 return gws.config.util.configure_service_provider_for(self, provider.Object)
41 def configure_metadata(self):
42 if super().configure_metadata():
43 return True
44 self.metadata = self.serviceProvider.metadata
45 return True