Fixed multiple processes for LanguageTool by using one instance only

Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
This commit is contained in:
TheJackiMonster 2021-04-11 16:02:41 +02:00
parent 4107c48ea9
commit b090c11a9c
No known key found for this signature in database
GPG key ID: D850A5F772E880F9

View file

@ -524,11 +524,11 @@ class LanguageToolCache:
if len(text) != self._length: if len(text) != self._length:
self._matches = self._buildMatches(tool, text) self._matches = self._buildMatches(tool, text)
def get_languagetool_languages(): def get_languagetool_languages(tool):
if use_language_check: if use_language_check:
return languagetool.get_languages() return languagetool.get_languages()
else: else:
return languagetool.LanguageTool()._get_languages() return tool._get_languages()
def get_languagetool_locale_language(): def get_languagetool_locale_language():
if use_language_check: if use_language_check:
@ -538,13 +538,18 @@ def get_languagetool_locale_language():
class LanguageToolDictionary(BasicDictionary): class LanguageToolDictionary(BasicDictionary):
if use_language_check:
_tool = None
else:
_tool = languagetool.LanguageTool()
def __init__(self, name): def __init__(self, name):
BasicDictionary.__init__(self, name) BasicDictionary.__init__(self, name)
if not (self._lang and self._lang in get_languagetool_languages()): if not (self._lang and self._lang in get_languagetool_languages(self._tool)):
self._lang = self.getDefaultDictionary() self._lang = self.getDefaultDictionary()
self._tool = languagetool.LanguageTool(self._lang) self._tool.language(self._lang)
self._cache = {} self._cache = {}
@staticmethod @staticmethod
@ -572,7 +577,7 @@ class LanguageToolDictionary(BasicDictionary):
@staticmethod @staticmethod
def availableDictionaries(): def availableDictionaries():
if LanguageToolDictionary.isInstalled(): if LanguageToolDictionary.isInstalled():
languages = list(get_languagetool_languages()) languages = list(get_languagetool_languages(LanguageToolDictionary._tool))
languages.sort() languages.sort()
return languages return languages
@ -585,7 +590,7 @@ class LanguageToolDictionary(BasicDictionary):
default_locale = get_languagetool_locale_language() default_locale = get_languagetool_locale_language()
if default_locale and not default_locale in get_languagetool_languages(): if default_locale and not default_locale in get_languagetool_languages(LanguageToolDictionary._tool):
default_locale = None default_locale = None
if default_locale == None: if default_locale == None: