Skip to content

Commit e1460f6

Browse files
committed
2.2.2: fix remote connections, enable spell-checking and custom rules, more refactoring
1 parent fc22ddf commit e1460f6

5 files changed

Lines changed: 94 additions & 152 deletions

File tree

‎language_tool_python/__main__.py‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@
55
import re
66
import sys
77

8-
from . import __version__
98
from .server import LanguageTool
109
from .utils import LanguageToolError
1110

11+
import pkg_resources
12+
__version__ = pkg_resources.require("language_tool_python")[0].version
13+
1214

1315
def parse_args():
1416
parser = argparse.ArgumentParser(
@@ -138,8 +140,8 @@ def main():
138140
if not args.spell_check:
139141
lang_tool.disable_spellchecking()
140142

141-
lang_tool.disabled.update(args.disable)
142-
lang_tool.enabled.update(args.enable)
143+
lang_tool.disabled_rules.update(args.disable)
144+
lang_tool.enabled_rules.update(args.enable)
143145
lang_tool.enabled_only = args.enabled_only
144146

145147
try:
Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,35 @@
11
import re
22

3-
from .utils import get_languages
4-
53
from functools import total_ordering
64

75
@total_ordering
8-
class LanguageTag(str):
9-
6+
class LanguageTag:
107
"""Language tag supported by LanguageTool."""
118
_LANGUAGE_RE = re.compile(r"^([a-z]{2,3})(?:[_-]([a-z]{2}))?$", re.I)
129

13-
def __new__(cls, tag):
14-
# Can't use super() here because of 3to2.
15-
return str.__new__(cls, cls._normalize(tag))
10+
def __init__(self, tag, languages):
11+
self.tag = tag
12+
self.languages = languages
13+
self.normalized_tag = self._normalize(tag)
1614

17-
def __eq__(self, other):
18-
try:
19-
other = self._normalize(other)
20-
except ValueError:
21-
pass
22-
return str(self) == other
15+
def __eq__(self, other_tag):
16+
return self.normalized_tag == self._normalize(other_tag)
2317

24-
def __lt__(self, other):
25-
try:
26-
other = self._normalize(other)
27-
except ValueError:
28-
pass
29-
return str(self) < other
18+
def __lt__(self, other_tag):
19+
return str(self) < self._normalize(other)
20+
21+
def __str__(self):
22+
return self.normalized_tag
3023

31-
@classmethod
32-
def _normalize(cls, tag):
24+
def _normalize(self, tag):
3325
if not tag:
3426
raise ValueError('empty language tag')
3527
languages = {language.lower().replace('-', '_'): language
36-
for language in get_languages()}
28+
for language in self.languages}
3729
try:
3830
return languages[tag.lower().replace('-', '_')]
3931
except KeyError:
4032
try:
41-
return languages[cls._LANGUAGE_RE.match(tag).group(1).lower()]
33+
return languages[self._LANGUAGE_RE.match(tag).group(1).lower()]
4234
except (KeyError, AttributeError):
4335
raise ValueError('unsupported language: {!r}'.format(tag))

0 commit comments

Comments
 (0)