Skip to content

Commit d89b4af

Browse files
committed
Don't load RE for preview panel rdef
1 parent 6c5385d commit d89b4af

File tree

3 files changed

+43
-35
lines changed

3 files changed

+43
-35
lines changed

omeroweb/webclient/views.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444

4545
from omeroweb.version import omeroweb_buildyear as build_year
4646
from omeroweb.version import omeroweb_version as omero_version
47+
from omeroweb.webgateway.util import get_rendering_def
4748

4849
import omero
4950
import omero.scripts
@@ -1773,7 +1774,8 @@ def load_metadata_preview(request, c_type, c_id, conn=None, share_id=None, **kwa
17731774

17741775
allRdefs = manager.image.getAllRenderingDefs()
17751776
rdefs = {}
1776-
rdefId = manager.image.getRenderingDefId()
1777+
rdef = get_rendering_def(manager.image)
1778+
rdefId = rdef["id"] if rdef is not None else None
17771779
# remove duplicates per user
17781780
for r in allRdefs:
17791781
ownerId = r["owner"]["id"]

omeroweb/webgateway/marshal.py

Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import time
2323
import re
2424
import logging
25-
import traceback
2625
from future.utils import isbytes, bytes_to_native_str
2726

2827
from omero.model.enums import PixelsTypeint8, PixelsTypeuint8, PixelsTypeint16
@@ -34,6 +33,8 @@
3433
from omero.rtypes import unwrap
3534
from omero_marshal import get_encoder
3635

36+
from .util import get_rendering_def, load_re
37+
3738
logger = logging.getLogger(__name__)
3839

3940
# OMERO.insight point list regular expression
@@ -207,39 +208,6 @@ def channelMarshal(channel):
207208
return chan
208209

209210

210-
def load_re(image, rsp_dict=None):
211-
rsp_dict = {} if rsp_dict is None else rsp_dict
212-
reOK = False
213-
try:
214-
reOK = image._prepareRenderingEngine()
215-
if not reOK:
216-
rsp_dict["Error"] = "Failed to prepare Rendering Engine for imageMarshal"
217-
logger.debug("Failed to prepare Rendering Engine for imageMarshal")
218-
except omero.ConcurrencyException as ce:
219-
backOff = ce.backOff
220-
rsp_dict["ConcurrencyException"] = {"backOff": backOff}
221-
except Exception as ex: # Handle everything else.
222-
rsp_dict["Exception"] = ex.message
223-
logger.error(traceback.format_exc())
224-
return reOK
225-
226-
227-
def get_rendering_def(image, rsp_dict):
228-
# Try to get user's rendering def
229-
exp_id = image._conn.getUserId()
230-
rdefs = image.getAllRenderingDefs(exp_id)
231-
if len(rdefs) == 0:
232-
# try to create our own rendering settings
233-
if load_re(image, rsp_dict):
234-
rdefs = image.getAllRenderingDefs(exp_id)
235-
# otherwise use owners
236-
if len(rdefs) == 0:
237-
owner_id = image.getDetails().getOwner().id
238-
if owner_id != exp_id:
239-
rdefs = image.getAllRenderingDefs(owner_id)
240-
241-
return rdefs[0] if len(rdefs) > 0 else None
242-
243211

244212
def imageMarshal(image, key=None, request=None):
245213
"""

omeroweb/webgateway/util.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
import shutil
2424
import logging
2525

26+
import omero
27+
import traceback
28+
2629
try:
2730
import long
2831
except ImportError:
@@ -238,3 +241,38 @@ def points_string_to_XY_list(string):
238241
x, y = xy.split(",")
239242
xyList.append((float(x.strip()), float(y.strip())))
240243
return xyList
244+
245+
246+
def load_re(image, rsp_dict=None):
247+
rsp_dict = {} if rsp_dict is None else rsp_dict
248+
reOK = False
249+
try:
250+
reOK = image._prepareRenderingEngine()
251+
if not reOK:
252+
# rsp_dict["Error"] = "Failed to prepare Rendering Engine for imageMarshal"
253+
logger.debug("Failed to prepare Rendering Engine for imageMarshal")
254+
except omero.ConcurrencyException as ce:
255+
backOff = ce.backOff
256+
# rsp_dict["ConcurrencyException"] = {"backOff": backOff}
257+
except Exception as ex: # Handle everything else.
258+
# rsp_dict["Exception"] = ex.message
259+
logger.error(traceback.format_exc())
260+
return reOK
261+
262+
263+
def get_rendering_def(image, rsp_dict=None):
264+
# rsp_dict allows errors to be added
265+
# Try to get user's rendering def
266+
exp_id = image._conn.getUserId()
267+
rdefs = image.getAllRenderingDefs(exp_id)
268+
if len(rdefs) == 0:
269+
# try to create our own rendering settings
270+
if load_re(image, rsp_dict):
271+
rdefs = image.getAllRenderingDefs(exp_id)
272+
# otherwise use owners
273+
if len(rdefs) == 0:
274+
owner_id = image.getDetails().getOwner().id
275+
if owner_id != exp_id:
276+
rdefs = image.getAllRenderingDefs(owner_id)
277+
278+
return rdefs[0] if len(rdefs) > 0 else None

0 commit comments

Comments
 (0)