Bug report #19607
Deactivating/uninstalling plugin causes Python error when trying to edit a Processing model
Status: | Closed | ||
---|---|---|---|
Priority: | Normal | ||
Assignee: | - | ||
Category: | Processing/Modeller | ||
Affected QGIS version: | 3.2.1 | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 27434 |
Description
Hi
When I do these steps, I get a Pythin error:
1) Install a new plugin, such as QNEAT3
2) Create a simple processing model that uses this plugin
3) Deativate/uninstall the plugin
4) Try to edit the model
I don´t expect the model to run when the plugin is missing, but I would still like to be able to open and edit it. Perhaps QGIS, in the model window, could simply remove the plugin and give a hint to the user about the missing plugin? When I reactivate/install the plugin in again, I can edit the model.
The log:
Ett fel har inträffat vid Pythonexekvering:
AttributeError: 'NoneType' object has no attribute 'svgIconPath'
Traceback (most recent call last):
File "C:/PROGRA~1/QGIS3~1.2/apps/qgis/./python/plugins\processing\modeler\EditModelAction.py", line 44, in execute
dlg = ModelerDialog(alg)
File "C:/PROGRA~1/QGIS3~1.2/apps/qgis/./python/plugins\processing\modeler\ModelerDialog.py", line 403, in init
self.repaintModel()
File "C:/PROGRA~1/QGIS3~1.2/apps/qgis/./python/plugins\processing\modeler\ModelerDialog.py", line 661, in repaintModel
self.scene.paintModel(self.model, controls)
File "C:/PROGRA~1/QGIS3~1.2/apps/qgis/./python/plugins\processing\modeler\ModelerScene.py", line 120, in paintModel
item = ModelerGraphicItem(alg, model, controls, scene=self)
File "C:/PROGRA~1/QGIS3~1.2/apps/qgis/./python/plugins\processing\modeler\ModelerGraphicItem.py", line 78, in init
if element.algorithm().svgIconPath():
AttributeError: 'NoneType' object has no attribute 'svgIconPath'
Python version: 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)]
QGIS version: 3.2.1-Bonn Bonn, 1edf372fb8
Python sökväg:
C:/PROGRA~1/QGIS3~1.2/apps/qgis/./python
C:/Users/Magnus/AppData/Roaming/QGIS/QGIS3\profiles\default/python
C:/Users/Magnus/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins
C:/PROGRA~1/QGIS3~1.2/apps/qgis/./python/plugins
C:\Program Files\QGIS 3.2\bin\python36.zip
C:\PROGRA~1\QGIS3~1.2\apps\Python36\DLLs
C:\PROGRA~1\QGIS3~1.2\apps\Python36\lib
C:\Program Files\QGIS 3.2\bin
C:\PROGRA~1\QGIS3~1.2\apps\Python36
C:\PROGRA~1\QGIS3~1.2\apps\Python36\lib\site-packages
C:\PROGRA~1\QGIS3~1.2\apps\Python36\lib\site-packages\win32
C:\PROGRA~1\QGIS3~1.2\apps\Python36\lib\site-packages\win32\lib
C:\PROGRA~1\QGIS3~1.2\apps\Python36\lib\site-packages\Pythonwin
C:/Users/Magnus/AppData/Roaming/QGIS/QGIS3\profiles\default/python
Associated revisions
[processing] do not allow editing model if it's missing algorithms
fixes #19607
History
#1 Updated by Alexander Bruy about 6 years ago
- Status changed from Open to Feedback
- Operating System deleted (
Windows 10 64 bit)
This is expected and correct behaviour. If plugin with 3rd party algorithms is not installed/desctivated, its algorithms also not available in the Processing. As result Processing simply don't know which inputs and outputs algorithm has and can't instantiate algorithm itself.
But it should not show traceback, a message warning user about missing algorithms should be shown instead and editing should be disbaled for such models.
#2 Updated by Magnus Nilsson about 6 years ago
I possible, I think QGIS should list the missing plugins used in the model and give the user a chance to install them and edit/run the model.
#3 Updated by Giovanni Manghi about 6 years ago
But it should not show traceback, a message warning user about missing algorithms should be shown instead and editing should be disbaled for such models.
moving to feature request?
#4 Updated by Olivier Dalang about 6 years ago
This happens too with user defined models.
If a parent model contains a child model, and a some point, the child model is removed, the parent model can't be edited anymore.
I think this should be considered a bug rather than a feature request, as it makes it very easy to destroy models in which users may have put a lot of work.
#5 Updated by Victor Olaya almost 6 years ago
- % Done changed from 0 to 100
- Status changed from Feedback to Closed
Applied in changeset qgis|a86965e94bc76016b142c7b7c1dfa817675fe007.