diff --git a/omero_figure/views.py b/omero_figure/views.py index d7b1358a9..efd8523a5 100644 --- a/omero_figure/views.py +++ b/omero_figure/views.py @@ -121,15 +121,19 @@ def img_data_json(request, image_id, conn=None, **kwargs): if units_support: # Add extra parameters with units data + if 'pixel_size' not in rv: + rv['pixel_size'] = {} # NB ['pixel_size']['x'] will have size in MICROMETER px = image.getPrimaryPixels().getPhysicalSizeX() - rv['pixel_size']['valueX'] = px.getValue() - rv['pixel_size']['symbolX'] = px.getSymbol() - rv['pixel_size']['unitX'] = str(px.getUnit()) + if px is not None: + rv['pixel_size']['valueX'] = px.getValue() + rv['pixel_size']['symbolX'] = px.getSymbol() + rv['pixel_size']['unitX'] = str(px.getUnit()) py = image.getPrimaryPixels().getPhysicalSizeY() - rv['pixel_size']['valueY'] = py.getValue() - rv['pixel_size']['symbolY'] = py.getSymbol() - rv['pixel_size']['unitY'] = str(py.getUnit()) + if py is not None: + rv['pixel_size']['valueY'] = py.getValue() + rv['pixel_size']['symbolY'] = py.getSymbol() + rv['pixel_size']['unitY'] = str(py.getUnit()) pz = image.getPrimaryPixels().getPhysicalSizeZ() if pz is not None: rv['pixel_size']['valueZ'] = pz.getValue() diff --git a/src/js/models/figure_model.js b/src/js/models/figure_model.js index fe6050b9e..dc00d5316 100644 --- a/src/js/models/figure_model.js +++ b/src/js/models/figure_model.js @@ -459,6 +459,12 @@ dataType: dataType, // work with the response success: function( data ) { + if (data.Exception || data.ConcurrencyException) { + // If something went wrong, show error and don't add to figure + message = data.Exception || "ConcurrencyException" + alert(`Image loading from ${imgDataUrl} included an Error: ${message}`); + return; + } self.set('loading_count', self.get('loading_count') - 1);