MathieuChailloux / BioDispersal

QGIS plugin to compute ecolgical continuities
GNU General Public License v3.0
7 stars 1 forks source link

TypeError on module init (QGIS 3.28 / python 3.10 on linux) #24

Closed vidlb closed 1 year ago

vidlb commented 1 year ago

J'ai un bug lorsque initialise le plugin :

TypeError: 'type' object is not subscriptable 
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/qgis/utils.py", line 448, in startPlugin
    plugins[packageName].initGui()
  File "/home/vidlb/.local/share/QGIS/QGIS3/profiles/default/python/plugins/BioDispersal/BioDispersal.py", line 196, in initGui
    self.dlg.initTabs()
  File "/home/vidlb/.local/share/QGIS/QGIS3/profiles/default/python/plugins/BioDispersal/BioDispersal_dialog.py", line 87, in initTabs
    self.bdModel = BioDispersalModel(self.context,self.feedback)
  File "/home/vidlb/.local/share/QGIS/QGIS3/profiles/default/python/plugins/BioDispersal/BioDispersal_model.py", line 37, in __init__
    self.stModel = subnetworks.STModel(self)
  File "/home/vidlb/.local/share/QGIS/QGIS3/profiles/default/python/plugins/BioDispersal/steps/subnetworks.py", line 98, in __init__
    super().__init__(self,itemClass,feedback=bdModel.feedback)
  File "/home/vidlb/.local/share/QGIS/QGIS3/profiles/default/python/plugins/BioDispersal/qgis_lib_mc/abstract_model.py", line 599, in __init__
    if fieldname in self.fields:
TypeError: 'type' object is not subscriptable

J'ai trouvé le soucis, c'est une mauvaise utilisation de la fonction super(), je vais te proposer une MR

vidlb commented 1 year ago

Ha ouais je viens de voir que j'avais ce bug parce que je suis reparti de ta branche master de qgis_lib_mc.
Bref l'issue est dans le mauvais github, mais bon. J'avais pas vu que tu faisai ref à un commit précis de qgis_lib_mc, et pas directement la branche master.

En tous cas normalement tout fonctionne avec mes 2 MR !

Edit : nope Sarah a eu un bug en chargant le XML, c'est lié à mes modifs dans qgis_lib_mc... je suis en train de debug.

vidlb commented 1 year ago

Bon je viens de réaliser que c'est la galère vu que je suis reparti de ta branche master qgis_lib_mc qui visiblement était bien en avance sur le commit fonctionnel dont tu te sers dans BioDispersal...quelle galère, je comprends l'idée de mutualiser des fonctions dans qgis_lib_mc mais c'est une horreur à debug

vidlb commented 1 year ago

P.S. : Je te conseille quand meme de regarder les modifs que j'avais suggéré dans https://github.com/MathieuChailloux/BioDispersal/pull/25 ; il ne faut pas repasser self à super().__init__