Skip to content

Commit 9116658

Browse files
committed
Honour layer refresh interval from qgis project
1 parent 39c5086 commit 9116658

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

src/config_generator/map_viewer_config.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -733,6 +733,8 @@ def collect_layers(self, layer, search_layers, level, collapseBelowLevel, extern
733733
# visible
734734
item_layer['visibility'] = layer['visible']
735735
else:
736+
meta = self.themes_reader.layer_metadata(service_name, layer['name'])
737+
736738
# layer
737739
item_layer['visibility'] = layer['visible']
738740
item_layer['geometryType'] = layer['geometryType']
@@ -765,14 +767,9 @@ def collect_layers(self, layer, search_layers, level, collapseBelowLevel, extern
765767
if 'dimensions' in layer:
766768
item_layer["dimensions"] = layer.get('dimensions')
767769
# Fallback for pre qgis-3.26.0
768-
meta = None
769770
for dimension in item_layer["dimensions"]:
770771
if not dimension["fieldName"]:
771-
if not meta:
772-
meta = self.themes_reader.layer_metadata(service_name, layer['name'])
773-
if not meta or 'dimensions' not in meta:
774-
break
775-
dimmeta = meta['dimensions']
772+
dimmeta = meta.get('dimensions', {})
776773
if dimension['name'] in dimmeta:
777774
dimension["fieldName"] = dimmeta[dimension['name']]["fieldName"]
778775
dimension["endFieldName"] = dimmeta[dimension['name']]["endFieldName"]
@@ -807,6 +804,9 @@ def collect_layers(self, layer, search_layers, level, collapseBelowLevel, extern
807804
if layer['name'] in featureReports:
808805
item_layer['featureReport'] = featureReports[layer['name']]
809806

807+
# refresh interval
808+
item_layer['refreshInterval'] = meta.get('refresh_interval', 0)
809+
810810
return item_layer
811811

812812
def edit_config(self, map_name, cfg_item, assets_dir):

src/config_generator/qgs_reader.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -175,19 +175,20 @@ def layer_metadata(self, layer_name):
175175
maplayer_name = maplayer.find('layername').text
176176
if maplayer_name == layer_name:
177177

178+
config['refresh_interval'] = int(maplayer.get('autoRefreshTime', 0))
178179
config.update(self.__attributes_metadata(maplayer))
179180
config.update(self.__dimension_metadata(maplayer))
180181

181182
provider = maplayer.find('provider').text
182-
if provider != 'postgres':
183+
if provider == 'postgres':
184+
datasource = maplayer.find('datasource').text
185+
database, datasource_filter = self.__db_connection(datasource)
186+
config['database'] = database
187+
config['datasource_filter'] = datasource_filter
188+
config.update(self.__table_metadata(datasource, maplayer))
189+
else:
183190
self.logger.info("Not a PostgreSQL layer")
184-
continue
185191

186-
datasource = maplayer.find('datasource').text
187-
database, datasource_filter = self.__db_connection(datasource)
188-
config['database'] = database
189-
config['datasource_filter'] = datasource_filter
190-
config.update(self.__table_metadata(datasource, maplayer))
191192

192193
self.__lookup_attribute_data_types(config)
193194

0 commit comments

Comments
 (0)