@@ -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
0 commit comments