Skip to content

Commit bbcb70b

Browse files
committed
Add "--enabled-only"
1 parent 16c51ba commit bbcb70b

3 files changed

Lines changed: 22 additions & 1 deletion

File tree

‎language_check/__init__.py‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ def __init__(self, language=None, motherTongue=None):
196196
self.motherTongue = motherTongue
197197
self.disabled = set()
198198
self.enabled = set()
199+
self.enabled_only = False
199200
self._instances[id(self)] = self
200201

201202
def __del__(self):
@@ -258,6 +259,8 @@ def _encode(self, text, srctext=None):
258259
params['disabled'] = ','.join(self.disabled)
259260
if self.enabled:
260261
params['enabled'] = ','.join(self.enabled)
262+
if self.enabled_only:
263+
params['enabledOnly'] = 'yes'
261264
return urllib.parse.urlencode(params).encode()
262265

263266
def correct(self, text: str, srctext=None) -> str:

‎language_check/main.py‎

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ def parse_args():
2828
parser.add_argument('-e', '--enable', metavar='RULES', type=get_rules,
2929
action=RulesAction, default=set(),
3030
help='list of rule IDs to be enabled')
31+
parser.add_argument('--enabled-only', action='store_true',
32+
help='disable all rules except those specified in '
33+
'--enable')
3134
parser.add_argument('--api', action='store_true',
3235
help='print results as XML')
3336
parser.add_argument(
@@ -41,7 +44,17 @@ def parse_args():
4144
help='disable spell-checking rules')
4245
parser.add_argument('--ignore-lines',
4346
help='ignore lines that match this regular expression')
44-
return parser.parse_args()
47+
48+
args = parser.parse_args()
49+
50+
if args.enabled_only:
51+
if args.disable:
52+
parser.error('--enabled-only cannot be used with --disable')
53+
54+
if not args.enable:
55+
parser.error('--enabled-only requires --enable')
56+
57+
return args
4558

4659

4760
class RulesAction(argparse.Action):
@@ -120,6 +133,7 @@ def main():
120133

121134
lang_tool.disabled.update(args.disable)
122135
lang_tool.enabled.update(args.enable)
136+
lang_tool.enabled_only = args.enabled_only
123137

124138
try:
125139
if args.api:

‎test.bash‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ echo 'This is okay.' | python -m language_check -
1212

1313
echo 'These are “smart” quotes.' | python -m language_check -
1414
! echo 'These are "dumb" quotes.' | python -m language_check -
15+
! echo 'These are "dumb" quotes.' | python -m language_check --enabled-only \
16+
--enable=EN_QUOTES -
17+
echo 'These are "dumb" quotes.' | python -m language_check --enabled-only \
18+
--enable=EN_UNPAIRED_BRACKETS -
1519

1620
echo '# These are "dumb".' | python -m language_check --ignore-lines='^#' -
1721

0 commit comments

Comments
 (0)