From 29811ff77bb1d6668c9cb7b3a8d648f35cd84dc3 Mon Sep 17 00:00:00 2001 From: PrimozGodec Date: Mon, 7 Aug 2023 14:49:43 +0200 Subject: [PATCH] Statistics - Use normal Setting instead of ContextSetting --- orangecontrib/text/widgets/owstatistics.py | 12 ++++-------- .../text/widgets/tests/test_owstatistics.py | 7 ++----- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/orangecontrib/text/widgets/owstatistics.py b/orangecontrib/text/widgets/owstatistics.py index 0bf01e51d..f465ee3ac 100644 --- a/orangecontrib/text/widgets/owstatistics.py +++ b/orangecontrib/text/widgets/owstatistics.py @@ -9,7 +9,7 @@ from AnyQt.QtWidgets import QComboBox, QGridLayout, QLabel, QLineEdit, QSizePolicy from Orange.widgets import gui -from Orange.widgets.settings import ContextSetting +from Orange.widgets.settings import Setting from Orange.widgets.utils.concurrent import ConcurrentWidgetMixin, TaskState from Orange.widgets.utils.widgetpreview import WidgetPreview from Orange.widgets.widget import Input, Output, OWWidget @@ -22,8 +22,8 @@ from orangecontrib.text.preprocess import ( LowercaseTransformer, RegexpTokenizer, - PreprocessorList) -from orangecontrib.text.widgets.utils.context import AlmostPerfectContextHandler + PreprocessorList +) def num_words(document: str, callback: Callable) -> int: @@ -493,11 +493,10 @@ class Warning(OWWidget.Warning): want_main_area = False mainArea_width_height_ratio = None - settingsHandler = AlmostPerfectContextHandler(0.9) # settings default_rules = [(0, ""), (1, "")] # rules used to reset the active rules - active_rules: List[Tuple[int, str]] = ContextSetting(default_rules[:]) + active_rules: List[Tuple[int, str]] = Setting(default_rules[:]) # rules active at time of apply clicked applied_rules: Optional[List[Tuple[int, str]]] = None @@ -641,10 +640,7 @@ def _sync_edit_line(self) -> None: @Inputs.corpus def set_data(self, corpus) -> None: - self.closeContext() self.corpus = corpus - self.active_rules = self.default_rules[:] - self.openContext(corpus) self.adjust_n_rule_rows() self.result_dict = {} # empty computational results when new data # reset old output - it also handle case with corpus == None diff --git a/orangecontrib/text/widgets/tests/test_owstatistics.py b/orangecontrib/text/widgets/tests/test_owstatistics.py index a4b1bfdef..ad1820413 100644 --- a/orangecontrib/text/widgets/tests/test_owstatistics.py +++ b/orangecontrib/text/widgets/tests/test_owstatistics.py @@ -362,17 +362,14 @@ def test_dictionary_statistics(self): self.send_signal(self.widget.Inputs.corpus, self.corpus) self.assertListEqual([], list(self.widget.result_dict.keys())) - def test_context(self): + def test_settings(self): """ Test whether context correctly restore rules """ rules = [(0, ""), (1, ""), (2, None)] self.send_signal(self.widget.Inputs.corpus, self.corpus) self.widget.active_rules = rules[:] self.send_signal(self.widget.Inputs.corpus, self.book_data) - self.assertListEqual([(0, ""), (1, "")], self.widget.active_rules) - - self.send_signal(self.widget.Inputs.corpus, self.corpus) - self.assertListEqual(rules, self.widget.active_rules) + self.assertListEqual([(0, ""), (1, ""), (2, None)], self.widget.active_rules) def test_compute_values(self): """ Test compute values on new data """