File tree Expand file tree Collapse file tree 1 file changed +13
-7
lines changed Expand file tree Collapse file tree 1 file changed +13
-7
lines changed Original file line number Diff line number Diff line change @@ -247,13 +247,19 @@ def __visibility_presets(self, root):
247247 layerMap [layerId .text ] = mapLayer .find ('shortname' ).text
248248 elif mapLayer .find ('layername' ) is not None :
249249 layerMap [layerId .text ] = mapLayer .find ('layername' ).text
250- for group in root .findall ('.//layer-tree-group' ):
251- if group .get ('name' ):
252- shortname = group .find ('./shortname' )
253- if shortname is not None :
254- layerMap [group .get ('name' )] = shortname .text
255- else :
256- layerMap [group .get ('name' )] = group .get ('name' )
250+
251+ def map_tree_groups (parent , parent_path = []):
252+ for group in parent .findall ('.//layer-tree-group' ):
253+ if group .get ('name' ):
254+ path = list (parent_path ) + [group .get ('name' )]
255+ shortname = group .find ('./shortname' )
256+ if shortname is not None :
257+ layerMap ["/" .join (path )] = shortname .text
258+ else :
259+ layerMap ["/" .join (path )] = group .get ('name' )
260+ map_tree_groups (group , path )
261+
262+ map_tree_groups (root )
257263
258264 result = {}
259265 for visibilityPreset in visibilityPresets .findall ('./visibility-preset' ):
You can’t perform that action at this time.
0 commit comments