Skip to content

Commit 2b2d567

Browse files
committed
Add support for 'auto' language type which is available from LanguageTool API
1 parent 3df7ce4 commit 2b2d567

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

language_tool_python/server.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ def __init__(self, language=None, motherTongue=None, remote_server=None, newSpel
6868
self.disabled_categories = set()
6969
self.enabled_categories = set()
7070
self.enabled_rules_only = False
71+
self.preferred_variants = set()
7172
self._instances[id(self)] = self
7273

7374
def __enter__(self):
@@ -134,6 +135,8 @@ def _create_params(self, text: str) -> Dict[str, str]:
134135
params['disabledCategories'] = ','.join(self.disabled_categories)
135136
if self.enabled_categories:
136137
params['enabledCategories'] = ','.join(self.enabled_categories)
138+
if self.preferred_variants:
139+
params['preferredVariants'] = ','.join(self.preferred_variants)
137140
# return urllib.parse.urlencode(params).encode()
138141
return params
139142

@@ -187,6 +190,7 @@ def _get_languages(self) -> set:
187190
for e in self._query_server(url, num_tries=1):
188191
languages.add(e.get('code'))
189192
languages.add(e.get('longCode'))
193+
languages.add("auto")
190194
return languages
191195

192196
def _start_server_if_needed(self):

tests/test_major_functionality.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ def test_langtool_load():
88
def test_langtool_languages():
99
import language_tool_python
1010
lang_tool = language_tool_python.LanguageTool("en-US")
11-
assert lang_tool._get_languages() == {'es-AR', 'ta-IN', 'en-CA', 'da', 'eo', 'pt-AO', 'de', 'gl', 'ru-RU', 'de-DE', 'en', 'br', 'en-ZA', 'pt-MZ', 'ast-ES', 'sk-SK', 'en-AU', 'ta', 'ga', 'be', 'pl', 'tl-PH', 'sl', 'ar', 'es', 'sl-SI', 'en-NZ', 'el', 'el-GR', 'ru', 'zh-CN', 'en-GB', 'be-BY', 'pl-PL', 'km-KH', 'pt', 'uk-UA', 'ca', 'de-DE-x-simple-language', 'ro', 'ca-ES', 'de-CH', 'ja-JP', 'tl', 'pt-PT', 'gl-ES', 'pt-BR', 'km', 'ga-IE', 'ja', 'sv', 'sk', 'en-US', 'de-AT', 'ca-ES-valencia', 'uk', 'it', 'zh', 'br-FR', 'da-DK', 'ast', 'fr', 'fa', 'nl', 'ro-RO', 'nl-BE'}
11+
assert lang_tool._get_languages() == {'es-AR', 'ta-IN', 'en-CA', 'da', 'eo', 'pt-AO', 'de', 'gl', 'ru-RU', 'de-DE', 'en', 'br', 'en-ZA', 'pt-MZ', 'ast-ES', 'sk-SK', 'en-AU', 'ta', 'ga', 'be', 'pl', 'tl-PH', 'sl', 'ar', 'es', 'sl-SI', 'en-NZ', 'el', 'el-GR', 'ru', 'zh-CN', 'en-GB', 'be-BY', 'pl-PL', 'km-KH', 'pt', 'uk-UA', 'ca', 'de-DE-x-simple-language', 'ro', 'ca-ES', 'de-CH', 'ja-JP', 'tl', 'pt-PT', 'gl-ES', 'pt-BR', 'km', 'ga-IE', 'ja', 'sv', 'sk', 'en-US', 'de-AT', 'ca-ES-valencia', 'uk', 'it', 'zh', 'br-FR', 'da-DK', 'ast', 'fr', 'fa', 'nl', 'ro-RO', 'nl-BE', 'auto'}
1212

1313
def test_match():
1414
import language_tool_python

0 commit comments

Comments
 (0)