diff --git a/source/braille.py b/source/braille.py index 4b8b2b099e9..35a4f748bbb 100644 --- a/source/braille.py +++ b/source/braille.py @@ -77,8 +77,8 @@ from utils.security import objectBelowLockScreenAndWindowsIsLocked, post_sessionLockStateChanged from winAPI.secureDesktop import post_secureDesktopStateChange from textUtils import isUnicodeNormalized, OffsetConverter, UnicodeNormalizationOffsetConverter -from textUtils.braille import _applyOffsetConverter -from textUtils.wordSeg.wordSegUtils import WordSegWithSeparatorOffsetConverter +from textUtils._braille import _applyOffsetConverter +from textUtils._wordSeg.wordSegUtils import WordSegWithSeparatorOffsetConverter import hwIo from editableText import EditableText from gui.guiHelper import wxCallOnMain diff --git a/source/core.py b/source/core.py index 91fff3ed4e2..b140135bf95 100644 --- a/source/core.py +++ b/source/core.py @@ -928,9 +928,9 @@ def main(): _remoteClient.initialize() - from textUtils import wordSeg + import textUtils._wordSeg - wordSeg.initialize() + textUtils._wordSeg.initialize() if globalVars.appArgs.install or globalVars.appArgs.installSilent: import gui.installerGui diff --git a/source/gui/settingsDialogs.py b/source/gui/settingsDialogs.py index 969af37c22c..884e40aa6d0 100644 --- a/source/gui/settingsDialogs.py +++ b/source/gui/settingsDialogs.py @@ -3570,9 +3570,9 @@ def onSave(self) -> None: self.wordSegCombo.saveCurrentValueToConf() def postSave(self) -> None: - from textUtils import wordSeg + import textUtils._wordSeg - wordSeg.initialize() + textUtils._wordSeg.initialize() def _synthWarningDialog(newSynth: str): diff --git a/source/textInfos/offsets.py b/source/textInfos/offsets.py index 0e66ef431dc..1b59647e047 100755 --- a/source/textInfos/offsets.py +++ b/source/textInfos/offsets.py @@ -17,7 +17,7 @@ from treeInterceptorHandler import TreeInterceptor import textUtils from textUtils.segFlag import CharSegFlag, WordSegFlag -from textUtils.wordSeg.wordSegmenter import WordSegmenter +from textUtils._wordSeg.wordSegmenter import WordSegmenter from dataclasses import dataclass from typing import ( Dict, diff --git a/source/textUtils/braille.py b/source/textUtils/_braille.py similarity index 100% rename from source/textUtils/braille.py rename to source/textUtils/_braille.py diff --git a/source/textUtils/wordSeg/__init__.py b/source/textUtils/_wordSeg/__init__.py similarity index 100% rename from source/textUtils/wordSeg/__init__.py rename to source/textUtils/_wordSeg/__init__.py diff --git a/source/textUtils/wordSeg/wordSegStrategy.py b/source/textUtils/_wordSeg/wordSegStrategy.py similarity index 100% rename from source/textUtils/wordSeg/wordSegStrategy.py rename to source/textUtils/_wordSeg/wordSegStrategy.py diff --git a/source/textUtils/wordSeg/wordSegUtils.py b/source/textUtils/_wordSeg/wordSegUtils.py similarity index 100% rename from source/textUtils/wordSeg/wordSegUtils.py rename to source/textUtils/_wordSeg/wordSegUtils.py diff --git a/source/textUtils/wordSeg/wordSegmenter.py b/source/textUtils/_wordSeg/wordSegmenter.py similarity index 100% rename from source/textUtils/wordSeg/wordSegmenter.py rename to source/textUtils/_wordSeg/wordSegmenter.py diff --git a/tests/unit/test_braille/test_routing.py b/tests/unit/test_braille/test_routing.py index f22a121db5e..a505b2b10fa 100644 --- a/tests/unit/test_braille/test_routing.py +++ b/tests/unit/test_braille/test_routing.py @@ -53,7 +53,7 @@ def test_chineseWordSegmentationAndUnicodeNormalizationOffsetsAreComposed(self) wordSegmenter.segmentedText.side_effect = _segmentedTextWithSeparator translate = Mock(return_value=([1, 2, 3], [0, 1, 2], [0, 1, 2], 2)) with ( - patch("textUtils.wordSeg.wordSegUtils.WordSegmenter", return_value=wordSegmenter), + patch("textUtils._wordSeg.wordSegUtils.WordSegmenter", return_value=wordSegmenter), patch("braille.louisHelper.translate", translate), ): region = braille.Region() diff --git a/tests/unit/test_wordSeg.py b/tests/unit/test_wordSeg.py index 5e8bbcf57d7..7fd605b73a5 100644 --- a/tests/unit/test_wordSeg.py +++ b/tests/unit/test_wordSeg.py @@ -14,12 +14,12 @@ import config from config.featureFlag import FeatureFlag from config.featureFlagEnums import WordNavigationUnitFlag -from textUtils import wordSeg +import textUtils._wordSeg from textUtils.segFlag import WordSegFlag -from textUtils.wordSeg import wordSegStrategy -from textUtils.wordSeg.wordSegmenter import WordSegmenter -from textUtils.wordSeg.wordSegStrategy import ChineseWordSegmentationStrategy -from textUtils.wordSeg.wordSegUtils import WordSegWithSeparatorOffsetConverter +from textUtils._wordSeg import wordSegStrategy +from textUtils._wordSeg.wordSegmenter import WordSegmenter +from textUtils._wordSeg.wordSegStrategy import ChineseWordSegmentationStrategy +from textUtils._wordSeg.wordSegUtils import WordSegWithSeparatorOffsetConverter class _ImmediateThread: @@ -80,7 +80,7 @@ def test_doesNotInitializeForUnusedLanguageByDefault(self) -> None: try: with ( patch.object(ChineseWordSegmentationStrategy, "isUsingRelatedLanguage", return_value=False), - patch("textUtils.wordSeg.wordSegStrategy.cdll.LoadLibrary") as loadLibrary, + patch("textUtils._wordSeg.wordSegStrategy.cdll.LoadLibrary") as loadLibrary, ): ChineseWordSegmentationStrategy._initCppJieba() @@ -98,7 +98,7 @@ def test_initializesForUnusedLanguageWhenConfigured(self) -> None: with ( patch.object(ChineseWordSegmentationStrategy, "isUsingRelatedLanguage", return_value=False), patch( - "textUtils.wordSeg.wordSegStrategy.cdll.LoadLibrary", + "textUtils._wordSeg.wordSegStrategy.cdll.LoadLibrary", return_value=mockDll, ) as loadLibrary, ): @@ -119,7 +119,7 @@ def test_forceInitStillInitializesForUnusedLanguage(self) -> None: with ( patch.object(ChineseWordSegmentationStrategy, "isUsingRelatedLanguage", return_value=False), patch( - "textUtils.wordSeg.wordSegStrategy.cdll.LoadLibrary", + "textUtils._wordSeg.wordSegStrategy.cdll.LoadLibrary", return_value=mockDll, ) as loadLibrary, ): @@ -141,10 +141,10 @@ def test_initFailureDisablesCppJieba(self) -> None: with ( patch.object(ChineseWordSegmentationStrategy, "isUsingRelatedLanguage", return_value=False), patch( - "textUtils.wordSeg.wordSegStrategy.cdll.LoadLibrary", + "textUtils._wordSeg.wordSegStrategy.cdll.LoadLibrary", return_value=mockDll, ) as loadLibrary, - patch("textUtils.wordSeg.wordSegStrategy.log.debugWarning") as debugWarning, + patch("textUtils._wordSeg.wordSegStrategy.log.debugWarning") as debugWarning, ): ChineseWordSegmentationStrategy._initCppJieba(forceInit=True) @@ -201,7 +201,7 @@ def test_getSegmentForOffsetReturnsNoneForRecoverableError(self) -> None: segmenter = WordSegmenter("hello world", wordSegFlag=WordSegFlag.UNISCRIBE) with ( patch.object(segmenter.strategy, "getSegmentForOffset", side_effect=IndexError("bad offset")), - patch("textUtils.wordSeg.wordSegmenter.log.debugWarning") as debugWarning, + patch("textUtils._wordSeg.wordSegmenter.log.debugWarning") as debugWarning, ): self.assertIsNone(segmenter.getSegmentForOffset(0)) @@ -232,7 +232,7 @@ def secondInitializer() -> None: patch.object(wordSegStrategy, "_initializerList", initializerList), patch("threading.Thread", _ImmediateThread), ): - wordSeg.initialize() + textUtils._wordSeg.initialize() self.assertEqual(calls, ["first", "second"]) @@ -240,7 +240,7 @@ def secondInitializer() -> None: class TestWordSegWithSeparatorOffsetConverter(unittest.TestCase): def _makeConverter(self) -> WordSegWithSeparatorOffsetConverter: with patch( - "textUtils.wordSeg.wordSegUtils.WordSegmenter", + "textUtils._wordSeg.wordSegUtils.WordSegmenter", return_value=SimpleNamespace(segmentedText=_segmentedTextWithSeparator), ): return WordSegWithSeparatorOffsetConverter("abcd")