Skip to content

Commit d8c0033

Browse files
committed
Continuize: Tests and small fixes
1 parent 22bab8a commit d8c0033

File tree

2 files changed

+471
-86
lines changed

2 files changed

+471
-86
lines changed

Orange/widgets/data/owcontinuize.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class MethodDesc(NamedTuple):
3535

3636
DefaultKey = ""
3737
DefaultId = 99
38-
38+
BackCompatClass = object()
3939

4040
Continuize = SimpleNamespace(
4141
Default=DefaultId,
@@ -460,7 +460,7 @@ def _on_radio_clicked(self, method_id: int):
460460

461461
@Inputs.data
462462
@check_sql_input
463-
def setData(self, data):
463+
def set_data(self, data):
464464
self.data = data
465465
self._var_cache.clear()
466466
domain = data.domain if data else None
@@ -473,6 +473,14 @@ def setData(self, data):
473473

474474
def _set_hints(self):
475475
assert self.data
476+
477+
# Backward compatibility for settings < 3
478+
class_treatment = self.disc_var_hints.get(BackCompatClass, None)
479+
if class_treatment is not None \
480+
and self.data.domain.class_var is not None:
481+
self.disc_var_hints[self.data.domain.class_var.name] \
482+
= class_treatment
483+
476484
for hints, model, options in (
477485
(self.cont_var_hints, self.cont_view.model(), ContinuousOptions),
478486
(self.disc_var_hints, self.disc_view.model(), DiscreteOptions)):
@@ -728,6 +736,9 @@ def migrate_settings(cls, settings, version):
728736
settings["disc_var_hints"] = \
729737
{DefaultKey:
730738
settings.pop("multinomial_treatment", Continuize.FirstAsBase)}
739+
class_treatment = settings.pop("class_treatment", Continuize.Leave)
740+
if class_treatment != Continuize.Leave:
741+
settings["disc_var_hints"][BackCompatClass] = class_treatment
731742

732743

733744
# Backward compatibility for unpickling settings

0 commit comments

Comments
 (0)