Skip to content

Commit 9eac7d1

Browse files
committed
domaineditor: lint
1 parent a78c8f4 commit 9eac7d1

File tree

3 files changed

+25
-7
lines changed

3 files changed

+25
-7
lines changed

Orange/widgets/data/tests/test_owfile.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,12 @@ def test_variable_name_change(self):
171171
data = self.get_output(self.widget.Outputs.data)
172172
self.assertIn("a", data.domain)
173173

174+
idx = self.widget.domain_editor.model().createIndex(3, 0)
175+
self.widget.domain_editor.model().setData(idx, "d", Qt.EditRole)
176+
self.widget.apply_button.click()
177+
data = self.get_output(self.widget.Outputs.data)
178+
self.assertIn("d", data.domain)
179+
174180
# rename and change to text
175181
idx = self.widget.domain_editor.model().createIndex(4, 0)
176182
self.widget.domain_editor.model().setData(idx, "b", Qt.EditRole)
@@ -266,6 +272,13 @@ def test_check_column_noname(self):
266272
self.widget.domain_editor.model().setData(idx, "", Qt.EditRole)
267273
self.assertEqual(self.widget.domain_editor.model().data(idx, Qt.DisplayRole), temp)
268274

275+
def test_invalid_role_mode(self):
276+
self.open_dataset("iris")
277+
model = self.widget.domain_editor.model()
278+
idx = model.createIndex(1, 0)
279+
self.assertFalse(model.setData(idx, Qt.StatusTipRole, ""))
280+
self.assertIsNone(model.data(idx, Qt.StatusTipRole))
281+
269282
def test_context_match_includes_variable_values(self):
270283
file1 = """\
271284
var

Orange/widgets/utils/domaineditor.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,14 @@ def set_variables(self, variables):
6262
def rowCount(self, parent):
6363
return 0 if parent.isValid() else len(self.variables)
6464

65-
def columnCount(self, parent):
65+
@staticmethod
66+
def columnCount(parent):
6667
return 0 if parent.isValid() else Column.not_valid
6768

6869
def data(self, index, role):
6970
row, col = index.row(), index.column()
7071
val = self.variables[row][col]
71-
if role == Qt.DisplayRole or role == Qt.EditRole:
72+
if role in (Qt.DisplayRole, Qt.EditRole):
7273
if col == Column.tpe:
7374
return self.type2name[val]
7475
if col == Column.place:
@@ -91,6 +92,7 @@ def data(self, index, role):
9192
font = QFont()
9293
font.setBold(True)
9394
return font
95+
return None
9496

9597
def setData(self, index, value, role=Qt.EditRole):
9698
row, col = index.row(), index.column()
@@ -111,6 +113,7 @@ def setData(self, index, value, role=Qt.EditRole):
111113
# Settings may change background colors
112114
self.dataChanged.emit(index.sibling(row, 0), index.sibling(row, 3))
113115
return True
116+
return False
114117

115118
def headerData(self, i, orientation, role=Qt.DisplayRole):
116119
if orientation == Qt.Horizontal and role == Qt.DisplayRole and i < 4:
@@ -131,7 +134,7 @@ def __init__(self, view, items):
131134
self.view = view
132135
self.items = items
133136

134-
def createEditor(self, parent, option, index):
137+
def createEditor(self, parent, _option, index):
135138
# This ugly hack closes the combo when the user selects an item
136139
class Combo(QComboBox):
137140
def __init__(self, *args):
@@ -146,6 +149,8 @@ def showPopup(self, *args):
146149
super().showPopup(*args)
147150
self.popup_shown = True
148151

152+
# Here, we need `self` from the closure
153+
# pylint: disable=no-self-argument,attribute-defined-outside-init
149154
def hidePopup(me):
150155
if me.popup_shown:
151156
self.view.model().setData(
@@ -356,7 +361,7 @@ def numbers_are_round(var, col_data):
356361

357362
# merge columns for X, Y and metas
358363
feats = cols[Place.feature]
359-
X = self._merge(feats) if len(feats) else np.empty((len(data), 0))
364+
X = self._merge(feats) if feats else np.empty((len(data), 0))
360365
Y = self._merge(cols[Place.class_var], force_dense=True)
361366
m = self._merge(cols[Place.meta], force_dense=True)
362367
domain = Domain(*places)
@@ -365,7 +370,8 @@ def numbers_are_round(var, col_data):
365370
else:
366371
return domain, [X, Y, m]
367372

368-
def _get_column(self, data, source_var, source_place):
373+
@staticmethod
374+
def _get_column(data, source_var, source_place):
369375
""" Extract column from data and preserve sparsity. """
370376
if source_place == Place.meta:
371377
col_data = data[:, source_var].metas

Orange/widgets/utils/tests/test_domaineditor.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import unittest
2-
from unittest.mock import Mock
32

43
import numpy as np
54

@@ -8,7 +7,7 @@
87
from Orange.data import DiscreteVariable, ContinuousVariable, StringVariable, \
98
TimeVariable, Domain, Table
109
from Orange.widgets.tests.base import GuiTest
11-
from Orange.widgets.utils.domaineditor import DomainEditor, Column, Place
10+
from Orange.widgets.utils.domaineditor import DomainEditor, Column
1211

1312

1413
class MockWidget(OWBaseWidget):

0 commit comments

Comments
 (0)