SDFIdk / Qgis-dataforsyningen

Dataforsyningen knap til QGIS, som gør det nemmere at tilføje Kort fra Dataforsyningen. Kode til kompilering af Qgis knap til visning af Dataforsyningens services. Knappen distribueres i Qgis' officielle plugin reposistory som tilgås gennem Qgis
GNU General Public License v2.0
3 stars 4 forks source link

Dataforsyningen plugin fejler ved opstart i modul qlr_file.py #11

Closed bvthomsen closed 2 years ago

bvthomsen commented 2 years ago

Dataforsyningen fejler ved opstart (eller reload) af oplugin:

UnboundLocalError: local variable 'service' referenced before assignment Traceback (most recent call last): File "C:\Users/Bo Victor Thomsen/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\Dataforsyningen\df_config.py", line 154, in _handle_qlr_response self._load_config_from_cached_df_qlr() File "C:\Users/Bo Victor Thomsen/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\Dataforsyningen\df_config.py", line 158, in _load_config_from_cached_df_qlr self.background_category, self.categories = self.get_df_categories() File "C:\Users/Bo Victor Thomsen/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\Dataforsyningen\df_config.py", line 173, in get_df_categories groups_with_layers = self.df_qlr_file.get_groups_with_layers() File "C:\Users/Bo Victor Thomsen/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\Dataforsyningen\qlr_file.py", line 27, in get_groups_with_layers layers = self.get_group_layers(group) File "C:\Users/Bo Victor Thomsen/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\Dataforsyningen\qlr_file.py", line 45, in get_group_layers service = self.get_maplayer_service(maplayer_node) File "C:\Users/Bo Victor Thomsen/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\Dataforsyningen\qlr_file.py", line 75, in get_maplayer_service return service UnboundLocalError: local variable 'service' referenced before assignment

Fejlen stammer fra linje 75 i qlr_file.py, hvor variabel "service" returneres. Men variabel er i mange tilfælde overhovedet ikke oprettet eller værdisat.

Rettelse:

Linjerne 53 - 54 i qlr_file.py kan rettes fra

    def get_maplayer_service(self, maplayer_node):
        datasource_node = None

Til:

    def get_maplayer_service(self, maplayer_node):
        datasource_node = None
        service = None

hvorved man sikrer sig, at variabel "service" altid er oprettet og værdisat med "None"

bvthomsen commented 2 years ago

Duplicate af #10