diff --git a/python/plugins/processing/ProcessingPlugin.py b/python/plugins/processing/ProcessingPlugin.py
index 5ed8a6a05c8..a3c8a1d8f0b 100644
--- a/python/plugins/processing/ProcessingPlugin.py
+++ b/python/plugins/processing/ProcessingPlugin.py
@@ -444,74 +444,76 @@ class ProcessingPlugin(QObject):
.createAlgorithmById(alg_id, config)
)
- if alg is not None:
+ if not alg:
+ return
- ok, message = alg.canExecute()
- if not ok:
- dlg = MessageDialog()
- dlg.setTitle(self.tr("Error executing algorithm"))
- dlg.setMessage(
- self.tr(
- "
This algorithm cannot " "be run :-(
\n{0}"
- ).format(message)
+ ok, message = alg.canExecute()
+ if not ok:
+ dlg = MessageDialog()
+ dlg.setTitle(self.tr("Error executing algorithm"))
+ dlg.setMessage(
+ self.tr("This algorithm cannot " "be run :-(
\n{0}").format(
+ message
)
- dlg.exec()
- return
+ )
+ dlg.exec()
+ return
- if as_batch:
- dlg = BatchAlgorithmDialog(alg, iface.mainWindow())
- dlg.show()
- dlg.exec()
- else:
- in_place_input_parameter_name = "INPUT"
- if hasattr(alg, "inputParameterName"):
- in_place_input_parameter_name = alg.inputParameterName()
+ if as_batch:
+ dlg = BatchAlgorithmDialog(alg, iface.mainWindow())
+ dlg.show()
+ dlg.exec()
+ return
- if in_place and not [
- d
- for d in alg.parameterDefinitions()
- if d.name() not in (in_place_input_parameter_name, "OUTPUT")
- ]:
- parameters = {}
- feedback = MessageBarProgress(algname=alg.displayName())
- ok, results = execute_in_place(alg, parameters, feedback=feedback)
- if ok:
- iface.messageBar().pushSuccess(
- "",
- self.tr(
- "{algname} completed. %n feature(s) processed.",
- n=results["__count"],
- ).format(algname=alg.displayName()),
- )
- feedback.close()
- # MessageBarProgress handles errors
- return
+ in_place_input_parameter_name = "INPUT"
+ if hasattr(alg, "inputParameterName"):
+ in_place_input_parameter_name = alg.inputParameterName()
- if alg.countVisibleParameters() > 0:
- dlg = alg.createCustomParametersWidget(parent)
+ if in_place and not [
+ d
+ for d in alg.parameterDefinitions()
+ if d.name() not in (in_place_input_parameter_name, "OUTPUT")
+ ]:
+ parameters = {}
+ feedback = MessageBarProgress(algname=alg.displayName())
+ ok, results = execute_in_place(alg, parameters, feedback=feedback)
+ if ok:
+ iface.messageBar().pushSuccess(
+ "",
+ self.tr(
+ "{algname} completed. %n feature(s) processed.",
+ n=results["__count"],
+ ).format(algname=alg.displayName()),
+ )
+ feedback.close()
+ # MessageBarProgress handles errors
+ return
- if not dlg:
- dlg = AlgorithmDialog(alg, in_place, iface.mainWindow())
- canvas = iface.mapCanvas()
- prevMapTool = canvas.mapTool()
- dlg.show()
- dlg.exec()
- if canvas.mapTool() != prevMapTool:
- try:
- canvas.mapTool().reset()
- except Exception:
- pass
- try:
- canvas.setMapTool(prevMapTool)
- except RuntimeError:
- pass
- else:
- feedback = MessageBarProgress(algname=alg.displayName())
- context = dataobjects.createContext(feedback)
- parameters = {}
- ret, results = execute(alg, parameters, context, feedback)
- handleAlgorithmResults(alg, context, feedback)
- feedback.close()
+ if alg.countVisibleParameters() > 0:
+ dlg = alg.createCustomParametersWidget(parent)
+
+ if not dlg:
+ dlg = AlgorithmDialog(alg, in_place, iface.mainWindow())
+ canvas = iface.mapCanvas()
+ prevMapTool = canvas.mapTool()
+ dlg.show()
+ dlg.exec()
+ if canvas.mapTool() != prevMapTool:
+ try:
+ canvas.mapTool().reset()
+ except Exception:
+ pass
+ try:
+ canvas.setMapTool(prevMapTool)
+ except RuntimeError:
+ pass
+ else:
+ feedback = MessageBarProgress(algname=alg.displayName())
+ context = dataobjects.createContext(feedback)
+ parameters = {}
+ ret, results = execute(alg, parameters, context, feedback)
+ handleAlgorithmResults(alg, context, feedback)
+ feedback.close()
def sync_in_place_button_state(self, layer=None):
"""Synchronise the button state with layer state"""
diff --git a/python/plugins/processing/gui/AlgorithmLocatorFilter.py b/python/plugins/processing/gui/AlgorithmLocatorFilter.py
index a2791df3ab3..0441adcda4b 100644
--- a/python/plugins/processing/gui/AlgorithmLocatorFilter.py
+++ b/python/plugins/processing/gui/AlgorithmLocatorFilter.py
@@ -114,30 +114,32 @@ class AlgorithmLocatorFilter(QgsLocatorFilter):
def triggerResult(self, result):
alg = QgsApplication.processingRegistry().createAlgorithmById(result.userData)
- if alg:
- ok, message = alg.canExecute()
- if not ok:
- dlg = MessageDialog()
- dlg.setTitle(self.tr("Missing dependency"))
- dlg.setMessage(message)
- dlg.exec()
- return
- dlg = alg.createCustomParametersWidget(parent=iface.mainWindow())
- if not dlg:
- dlg = AlgorithmDialog(alg, parent=iface.mainWindow())
- canvas = iface.mapCanvas()
- prevMapTool = canvas.mapTool()
- dlg.show()
+ if not alg:
+ return
+
+ ok, message = alg.canExecute()
+ if not ok:
+ dlg = MessageDialog()
+ dlg.setTitle(self.tr("Missing dependency"))
+ dlg.setMessage(message)
dlg.exec()
- if canvas.mapTool() != prevMapTool:
- try:
- canvas.mapTool().reset()
- except:
- pass
- try:
- canvas.setMapTool(prevMapTool)
- except RuntimeError:
- pass
+ return
+ dlg = alg.createCustomParametersWidget(parent=iface.mainWindow())
+ if not dlg:
+ dlg = AlgorithmDialog(alg, parent=iface.mainWindow())
+ canvas = iface.mapCanvas()
+ prevMapTool = canvas.mapTool()
+ dlg.show()
+ dlg.exec()
+ if canvas.mapTool() != prevMapTool:
+ try:
+ canvas.mapTool().reset()
+ except:
+ pass
+ try:
+ canvas.setMapTool(prevMapTool)
+ except RuntimeError:
+ pass
class InPlaceAlgorithmLocatorFilter(QgsLocatorFilter):
@@ -221,39 +223,41 @@ class InPlaceAlgorithmLocatorFilter(QgsLocatorFilter):
alg = QgsApplication.processingRegistry().createAlgorithmById(
result.userData, config
)
- if alg:
- ok, message = alg.canExecute()
- if not ok:
- dlg = MessageDialog()
- dlg.setTitle(self.tr("Missing dependency"))
- dlg.setMessage(message)
- dlg.exec()
- return
+ if not alg:
+ return
- in_place_input_parameter_name = "INPUT"
- if hasattr(alg, "inputParameterName"):
- in_place_input_parameter_name = alg.inputParameterName()
+ ok, message = alg.canExecute()
+ if not ok:
+ dlg = MessageDialog()
+ dlg.setTitle(self.tr("Missing dependency"))
+ dlg.setMessage(message)
+ dlg.exec()
+ return
- if [
- d
- for d in alg.parameterDefinitions()
- if d.name() not in (in_place_input_parameter_name, "OUTPUT")
- ]:
- dlg = alg.createCustomParametersWidget(parent=iface.mainWindow())
- if not dlg:
- dlg = AlgorithmDialog(alg, True, parent=iface.mainWindow())
- canvas = iface.mapCanvas()
- prevMapTool = canvas.mapTool()
- dlg.show()
- dlg.exec()
- if canvas.mapTool() != prevMapTool:
- try:
- canvas.mapTool().reset()
- except:
- pass
- canvas.setMapTool(prevMapTool)
- else:
- feedback = MessageBarProgress(algname=alg.displayName())
- parameters = {}
- execute_in_place(alg, parameters, feedback=feedback)
- feedback.close()
+ in_place_input_parameter_name = "INPUT"
+ if hasattr(alg, "inputParameterName"):
+ in_place_input_parameter_name = alg.inputParameterName()
+
+ if [
+ d
+ for d in alg.parameterDefinitions()
+ if d.name() not in (in_place_input_parameter_name, "OUTPUT")
+ ]:
+ dlg = alg.createCustomParametersWidget(parent=iface.mainWindow())
+ if not dlg:
+ dlg = AlgorithmDialog(alg, True, parent=iface.mainWindow())
+ canvas = iface.mapCanvas()
+ prevMapTool = canvas.mapTool()
+ dlg.show()
+ dlg.exec()
+ if canvas.mapTool() != prevMapTool:
+ try:
+ canvas.mapTool().reset()
+ except:
+ pass
+ canvas.setMapTool(prevMapTool)
+ else:
+ feedback = MessageBarProgress(algname=alg.displayName())
+ parameters = {}
+ execute_in_place(alg, parameters, feedback=feedback)
+ feedback.close()