def finished(exception, result=None): self.msgBar.clearWidgets() if not exception is None: msg = f"Error: Exception: {exception}" self.msgBar.pushMessage( self.MODULE, msg, Qgis.Critical, 4 ) return layer = QgsRasterLayer( *result ) if not layer.isValid(): source = urllib.parse.unquote( layer.source() ).split('&') url = [ v for v in source if v.split('=')[0] == 'url' ][0] msg = f"!!!Error server: Get {url}" self.msgBar.pushCritical( self.MODULE, msg ) return project = QgsProject.instance() totalEW = int( layer.customProperty('embeddedWidgets/count', 0) ) layer.setCustomProperty('embeddedWidgets/count', totalEW + 1 ) layer.setCustomProperty(f"embeddedWidgets/{totalEW}/id", self.widgetProvider.id() ) project.addMapLayer( layer ) root = project.layerTreeRoot() ltl = root.findLayer( layer ) ltl.setExpanded(True)