Automatically overwrite files in some gdal algorithms, in order to match the behavior of other processing algorithms which automatically overwrite existing files
Fixes#42248
filter, ensure the progress bar is removed when the algorithm
finishes
Otherwise it hangs around in the message bar until it's manually
dismissed, unlike the behavior when you run an in-place operation
through the toolbox.
This button isn't a cancel button - it just closes the dialog, and
doesn't abort any changes which have already been made as a result
of running the algorithm through the dialog.
- gdal_calc command is gdal_calc.py, not gdal_calc
- commandName() method is used for more than just the command line
generation, so move extension handling to getConsoleCommands() only
Fix GdalAlgorithmProvider supportedOutputRasterLayerExtensions(self) in order to correctly return GdalUtils.getSupportedOutputRasterExtensions() instead of GdalUtils.getSupportedRasterExtensions()
```
File "/home/mkuhn/.local/share/QGIS/QGIS3/profiles/default/python/plugins/autocurve/plugin.py", line 127, in curvify
AlgorithmExecutor.execute_in_place(alg, {})
File "/usr/share/qgis/python/plugins/processing/gui/AlgorithmExecutor.py", line 305, in execute_in_place
ok, results = execute_in_place_run(alg, parameters, context=context, feedback=feedback)
File "/usr/share/qgis/python/plugins/processing/gui/AlgorithmExecutor.py", line 214, in execute_in_place_run
results, ok = {'__count': current + 1}, True
UnboundLocalError: local variable 'current' referenced before assignment
```
add an explicit log level getter/setter to QgsProcessingContext which
algorithms can use to determine an appropriate level of feedback
to push to users.
Initially the verbose log only triggers the full verbose output
of model executions (which is also used when running models through
the model designer), but the intention is that more algorithms
will fine tune their output based on the logging level.
qgis_process also gains a new --verbose switch to enable verbose
log output.
when a script calls Processing.initialize() if they are not
already loaded
This means the following ugly code can be avoided:
Processing.initialize()
QgsApplication.processingRegistry().addProvider(QgsNativeAlgorithms(QgsApplication.processingRegistry()))
QgsApplication.processingRegistry().addProvider(Qgs3DAlgorithms(QgsApplication.processingRegistry()))
and instead the call to Processing.initialize() is sufficient to load
ALL providers
Fixes#41310