ome / omero-py

Python project containing Ice remoting code for OMERO
https://www.openmicroscopy.org/omero
GNU General Public License v2.0
20 stars 33 forks source link

calling `.connect()` method on a `suConn` connection breaks queries #295

Open glyg opened 3 years ago

glyg commented 3 years ago

Context: I pass a suConn connection as first argument to query methods decorated by an "auto_reconnect" decorator, so the suConn object's connect() method is called automatically. When doing that, queries for the datasets objects (and I assume others) silently return empty results.

Code example

This works

from omero.gateway import BlitzGateway
conn = BlitzGateway(host="localhost", username="root", passwd="omero", secure=True)
conn.connect()
suc = conn.suConn("john")
for dset in suc.getObjects('Dataset'):
    print(dset.name)

Ouput (as expected):

dataset1
dataset2

This bugs

from omero.gateway import BlitzGateway
conn = BlitzGateway(host="localhost", username="root", passwd="omero", secure=True)
conn.connect()
suc = conn.suConn("john")
# This returns True
suc.connect()
for dset in suc.getObjects('Dataset'):
    print(dset.name)

There is no output (no dataset is found)