From 6457c1f7c6fe88311a55ca51736e9a2418ee6e90 Mon Sep 17 00:00:00 2001 From: Aman Agrawal Date: Tue, 18 Jun 2019 22:42:54 +0530 Subject: [PATCH] lint: Generalize --skip arg and move logic to zulint/command. --- tools/lint | 16 ++++++---------- tools/zulint/command.py | 7 +++++-- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/tools/lint b/tools/lint index 875f0efba2..fab27f75a2 100755 --- a/tools/lint +++ b/tools/lint @@ -90,15 +90,11 @@ def run(): linter_config.external_linter('templates', ['tools/check-templates'], ['handlebars', 'html']) linter_config.external_linter('swagger', ['node', 'tools/check-swagger'], ['yaml']) linter_config.external_linter('shellcheck', ['shellcheck', '-x'], ['sh']) - if 'mypy' not in args.skip: - command = ['tools/run-mypy'] - if args.force: - command.append('--force') - linter_config.external_linter('mypy', command, ['py'], pass_targets=False) - - # Disabled check for imperative mood until it is stabilized - if 'gitlint' not in args.skip: - linter_config.external_linter('gitlint', ['tools/commit-message-lint']) + command = ['tools/run-mypy'] + if args.force: + command.append('--force') + linter_config.external_linter('mypy', command, ['py'], pass_targets=False) + linter_config.external_linter('gitlint', ['tools/commit-message-lint']) @linter_config.lint def custom_py(): @@ -135,7 +131,7 @@ def run(): failed = check_pep8(list(python_part2)) return 1 if failed else 0 - linter_config.do_lint(only=args.only) + linter_config.do_lint(skip=args.skip, only=args.only) if __name__ == '__main__': run() diff --git a/tools/zulint/command.py b/tools/zulint/command.py index 5b7ead5b03..b24582a98a 100644 --- a/tools/zulint/command.py +++ b/tools/zulint/command.py @@ -111,10 +111,13 @@ class LinterConfig: self.lint_functions[name] = run_linter - def do_lint(self, only=[]): - # type: (List[str]) -> None + def do_lint(self, only=[], skip=[]): + # type: (List[str], List[str]) -> None + assert not only or not skip, "Only one of --only or --skip can be used at once." if only: self.lint_functions = {linter: self.lint_functions[linter] for linter in only} + for linter in skip: + del self.lint_functions[linter] failed = run_parallel(self.lint_functions) sys.exit(1 if failed else 0)