Skip to content

Commit e34af80

Browse files
committed
fixed compare+diffonly when stack failed
also display the exception (even though it is currently unreadable)
1 parent 6053e44 commit e34af80

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

larray_editor/comparator.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
from qtpy.QtWidgets import (QWidget, QVBoxLayout, QListWidget, QSplitter, QDialogButtonBox, QHBoxLayout,
44
QDialog, QLabel, QCheckBox)
55

6-
from larray import LArray, Session, Axis, X, stack, full_like, nan, zeros_like, isnan, larray_nan_equal, nan_equal
6+
from larray import (LArray, Session, Axis, X, stack, full, full_like, zeros_like,
7+
nan, isnan, larray_nan_equal, nan_equal)
78
from larray_editor.utils import ima, replace_inf, _
89
from larray_editor.arraywidget import ArrayEditorWidget
910

@@ -43,8 +44,8 @@ def set_data(self, arrays, stack_axis):
4344
try:
4445
self.array = stack(arrays, stack_axis)
4546
array0 = self.array[stack_axis.i[0]]
46-
except:
47-
self.array = LArray([np.nan])
47+
except Exception as e:
48+
self.array = LArray(str(e))
4849
array0 = self.array
4950
try:
5051
self.isequal = nan_equal(self.array, array0)
@@ -68,18 +69,20 @@ def set_data(self, arrays, stack_axis):
6869
self.bg_value = full_like(self.array, 0.5)
6970
except TypeError:
7071
# str/object array
71-
maxabsreldiff = np.nan
72+
maxabsreldiff = nan
7273
self.bg_value = full_like(self.array, 0.5)
7374

7475
self.maxdiff_label.setText(str(maxabsreldiff))
7576
self.display(self.diff_checkbox.isChecked())
7677

7778
def display(self, diff_only):
78-
if diff_only:
79-
row_filter = (~self.isequal).any(self.stack_axis.name)
80-
self.arraywidget.set_data(self.array[row_filter], bg_value=self.bg_value[row_filter])
81-
else:
82-
self.arraywidget.set_data(self.array, bg_value=self.bg_value)
79+
array = self.array
80+
bg_value = self.bg_value
81+
if diff_only and self.isequal.ndim > 0:
82+
row_filter = (~self.isequal).any(self.stack_axis)
83+
array = array[row_filter]
84+
bg_value = bg_value[row_filter]
85+
self.arraywidget.set_data(array, bg_value=bg_value)
8386

8487

8588
class ArrayComparator(QDialog):

0 commit comments

Comments
 (0)