Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions orangecontrib/text/language.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@
"ug": "Uyghur",
"uk": "Ukrainian",
"ur": "Urdu",
"uz": "Uzbek",
"vi": "Vietnamese",
"zh": "Chinese",
"zh_char": "Chinese - Chinese Characters",
Expand Down
11 changes: 9 additions & 2 deletions orangecontrib/text/preprocess/filter.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,14 @@
'PosTagFilter', 'NumbersFilter', 'WithNumbersFilter']


class classproperty:
def __init__(self, fget):
self.fget = fget

def __get__(self, obj, cls):
return self.fget(cls)


class BaseTokenFilter(TokenizedPreprocessor):
def __call__(self, corpus: Corpus, callback: Callable = None) -> Corpus:
if callback is None:
Expand Down Expand Up @@ -116,8 +124,7 @@ def lang_to_iso(language: str) -> str | None:
"""
return LANG2ISO.get(StopwordsFilter.NLTK2LANG.get(language, language))

@classmethod
@property
@classproperty
@wait_nltk_data
def supported_languages(_) -> Set[str]:
"""
Expand Down
4 changes: 2 additions & 2 deletions orangecontrib/text/widgets/owconcordance.py
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ class Outputs:

class Warning(OWWidget.Warning):
multiple_words_on_input = Msg("Multiple query words on input. "
"Only the first one is considered!")
"Only the first one is considered.")

def __init__(self):
super().__init__()
Expand Down Expand Up @@ -302,7 +302,7 @@ def set_word_from_input(self, topic):
self.Warning.multiple_words_on_input.clear()
if self.is_word_on_input: # word changed, clear selection
self.selected_rows = []
self.is_word_on_input = topic is not None and len(topic) > 0
self.is_word_on_input = topic is not None and topic.metas.size > 0
self.input.setEnabled(not self.is_word_on_input)
if self.is_word_on_input:
if len(topic) > 1:
Expand Down
4 changes: 3 additions & 1 deletion orangecontrib/text/widgets/owwordlist.py
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,8 @@ def _init_controls(self):
self.__input_words_model.set_domain(domain)
if len(self.__input_words_model) > 0:
self.words_var = self.__input_words_model[0]
else:
self.words_var = None
self.__input_box.setEnabled(bool(self.__input_words_model))
self._enable_words_actions()

Expand All @@ -488,7 +490,7 @@ def _apply_update_rule(self):
lib_words = self.library_model[lib_index].cached_words
else:
lib_words = self.words_model[:]
if self.__input_words is not None:
if self.words_var is not None:
in_words = self.__input_words.get_column(self.words_var)
in_words = list(in_words)
update_rule = self.update_rule_index
Expand Down
4 changes: 2 additions & 2 deletions orangecontrib/text/widgets/tests/test_owkeywords.py
Original file line number Diff line number Diff line change
Expand Up @@ -197,8 +197,8 @@ def test_sort_nans_asc(self):
self.send_signal(widget.Inputs.corpus, self.corpus, widget=widget)
self.wait_until_finished(widget=widget)
output = self.get_output(widget.Outputs.words, widget=widget)
self.assertListEqual(list(output.metas[:, 0]),
["System", "Widths", "opinion"])
self.assertEqual(set(output.metas[:, 0]),
{"System", "Widths", "opinion"})

def test_scoring_methods(self):
# speed-up the test execution
Expand Down
5 changes: 4 additions & 1 deletion orangecontrib/text/widgets/tests/test_ownyt.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import unittest
from unittest.mock import patch

from orangecontrib.text.widgets.ownyt import OWNYT
from orangecontrib.text.widgets.utils import CheckListLayout
Expand All @@ -7,7 +8,9 @@

class TestOWNYT(WidgetTest):
def setUp(self) -> None:
self.widget = self.create_widget(OWNYT)
with patch("orangecontrib.text.widgets.ownyt.OWNYT.APICredentialsDialog"):
self.widget = self.create_widget(OWNYT)


def test_text_includes_gui(self):
"""Check that Text includes section has all controls"""
Expand Down
1 change: 1 addition & 0 deletions orangecontrib/text/wikipedia_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
class NetworkException(IOError, wikipedia.exceptions.HTTPTimeoutError):
pass

wikipedia.set_user_agent("Orange3-Text/1.0 (https://orange.biolab.si)")

class WikipediaAPI:
""" Wraps Wikipedia API.
Expand Down
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ deps =
oldest: orange3==3.38.1
oldest: orange-canvas-core==0.2.5
oldest: orange-widget-base==4.25.0
oldest: pandas==1.4.0
oldest: pandas==1.5.3
oldest: nltk==3.9.1
latest: https://github.com/biolab/orange3/archive/refs/heads/master.zip#egg=orange3
latest: https://github.com/biolab/orange3-network/archive/refs/heads/master.zip#egg=orange3-network
Expand Down
Loading