scipion-em / scipion-pyworkflow

Underlying pyworkflow module for the Scipion framework
GNU General Public License v3.0
6 stars 5 forks source link

problem in form opening volumes/mask #102

Closed Vilax closed 4 years ago

Vilax commented 4 years ago

Dear scipioners,

I got this problem in my scipion3 version (devel branch). When I open whatever protocol and I use the magnifying glass icon to select a volume or a mask, that button does not work. In the terminal I get next error.

Best

Vilas

Traceback (most recent call last): File "/usr/lib/python3.5/tkinter/init.py", line 1553, in call return self.func(*args) File "/home/vilas/opt/scipion3/scipion-pyworkflow/pyworkflow/gui/form.py", line 1324, in _browseObject selectmode=self._selectmode, selectOnDoubleClick=True) File "/home/vilas/opt/scipion3/scipion-pyworkflow/pyworkflow/gui/dialog.py", line 526, in init Dialog.init(self, parent, title, buttons=buttons, **kwargs) File "/home/vilas/opt/scipion3/scipion-pyworkflow/pyworkflow/gui/dialog.py", line 88, in init self.body(bodyFrame) File "/home/vilas/opt/scipion3/scipion-pyworkflow/pyworkflow/gui/dialog.py", line 536, in body self._createTree(dialogFrame) File "/home/vilas/opt/scipion3/scipion-pyworkflow/pyworkflow/gui/dialog.py", line 544, in _createTree self.tree = BoundTree(parent, self.provider, selectmode=self._selectmode) File "/home/vilas/opt/scipion3/scipion-pyworkflow/pyworkflow/gui/tree.py", line 271, in init self.setProvider(provider) File "/home/vilas/opt/scipion3/scipion-pyworkflow/pyworkflow/gui/tree.py", line 284, in setProvider self.update() File "/home/vilas/opt/scipion3/scipion-pyworkflow/pyworkflow/gui/tree.py", line 353, in update objDict = self.provider.getObjectInfo(obj) File "/home/vilas/opt/scipion3/scipion-pyworkflow/pyworkflow/gui/form.py", line 577, in getObjectInfo 'values': (self._getObjectInfoValue(obj), File "/home/vilas/opt/scipion3/scipion-pyworkflow/pyworkflow/gui/form.py", line 594, in _getObjectInfoValue return str(obj).replace(obj.getClassName(), '') File "/home/vilas/opt/scipion3/scipion-em/pwem/objects/data.py", line 599, in str dim = self.getDim() File "/home/vilas/opt/scipion3/scipion-em/pwem/objects/data.py", line 702, in getDim if z > 1: TypeError: unorderable types: NoneType() > int()

pconesa commented 4 years ago

I'm not able to reproduce this.... does still happen to you?

azazellochg commented 4 years ago

I'm having a similar but maybe related problem.

Error:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/public/EM/Scipion/miniconda3/envs/.scipion3env/lib/python3.8/tkinter/__init__.py", line 1883, in __call__
    return self.func(*args)
  File "/lmb/home/gsharov/soft/scipion3/scipion-pyworkflow/pyworkflow/gui/form.py", line 1320, in _browseObject
    dlg = ListDialog(self.parent, title, tp,
  File "/lmb/home/gsharov/soft/scipion3/scipion-pyworkflow/pyworkflow/gui/dialog.py", line 526, in __init__
    Dialog.__init__(self, parent, title, buttons=buttons, **kwargs)
  File "/lmb/home/gsharov/soft/scipion3/scipion-pyworkflow/pyworkflow/gui/dialog.py", line 88, in __init__
    self.body(bodyFrame)
  File "/lmb/home/gsharov/soft/scipion3/scipion-pyworkflow/pyworkflow/gui/dialog.py", line 536, in body
    self._createTree(dialogFrame)
  File "/lmb/home/gsharov/soft/scipion3/scipion-pyworkflow/pyworkflow/gui/dialog.py", line 544, in _createTree
    self.tree = BoundTree(parent, self.provider, selectmode=self._selectmode)
  File "/lmb/home/gsharov/soft/scipion3/scipion-pyworkflow/pyworkflow/gui/tree.py", line 271, in __init__
    self.setProvider(provider)
  File "/lmb/home/gsharov/soft/scipion3/scipion-pyworkflow/pyworkflow/gui/tree.py", line 284, in setProvider
    self.update()
  File "/lmb/home/gsharov/soft/scipion3/scipion-pyworkflow/pyworkflow/gui/tree.py", line 348, in update
    self._objects = self.provider.getObjects()
  File "/lmb/home/gsharov/soft/scipion3/scipion-pyworkflow/pyworkflow/gui/form.py", line 528, in getObjects
    self._sortObjects(objects)
  File "/lmb/home/gsharov/soft/scipion3/scipion-pyworkflow/pyworkflow/gui/form.py", line 533, in _sortObjects
    objects.sort(key=self.objectKey, reverse=not self.isSortingAscending())
TypeError: '<' not supported between instances of 'str' and 'NoneType'

To reproduce: 1) launch relion ptcl extraction protocol 2) open a new GUI form for the cl2d relion 3) click browse for input coordinates for (2) while extraction is still running - you will see all coords sets from your project. Click Cancel - do not select anything. DO NOT close GUI form 4) wait until extraction has finished 5) click again Browse button --> get the error.

It can be reproduced with any protocols I believe.

pconesa commented 4 years ago

Got it! Thanks. I'm on this.