From 32a46cbaa92ea425ba321e7322d9a1e8ef365329 Mon Sep 17 00:00:00 2001 From: Aman Agrawal Date: Wed, 14 Aug 2019 11:31:17 +0530 Subject: [PATCH] mypy: Use Rule from zulint to specify type for custom rules. --- tools/custom_check.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/tools/custom_check.py b/tools/custom_check.py index 6512bd0..a0bead5 100644 --- a/tools/custom_check.py +++ b/tools/custom_check.py @@ -1,10 +1,12 @@ from __future__ import print_function from __future__ import absolute_import -from typing import cast, Any, Dict, List, Tuple +from typing import Any, Dict, List, Tuple from zulint.custom_rules import RuleList -Rule = List[Dict[str, Any]] +MYPY = False +if MYPY: + from zulint.custom_rules import Rule whitespace_rules = [ # This linter should be first since bash_rules depends on it. @@ -30,7 +32,7 @@ markdown_whitespace_rules = list([rule for rule in whitespace_rules if rule['pat python_rules = RuleList( langs=['py'], - rules=cast(Rule, [ + rules=[ {'pattern': '".*"%\([a-z_].*\)?$', 'description': 'Missing space around "%"'}, {'pattern': "'.*'%\([a-z_].*\)?$", @@ -96,17 +98,17 @@ python_rules = RuleList( 'bad_lines': ['class TestSomeBot(DefaultTests, BotTestCase):'], 'good_lines': ['class TestSomeBot(BotTestCase, DefaultTests):'], 'description': 'Bot test cases should inherit from BotTestCase before DefaultTests.'}, - ]) + whitespace_rules, + ] + whitespace_rules, max_length=140, ) bash_rules = RuleList( langs=['sh'], - rules=cast(Rule, [ + rules=[ {'pattern': '#!.*sh [-xe]', 'description': 'Fix shebang line with proper call to /usr/bin/env for Bash path, change -x|-e switches' ' to set -x|set -e'}, - ]) + whitespace_rules[0:1], + ] + whitespace_rules[0:1], ) @@ -141,10 +143,10 @@ markdown_docs_length_exclude = { markdown_rules = RuleList( langs=['md'], - rules=markdown_whitespace_rules + prose_style_rules + cast(Rule, [ + rules=markdown_whitespace_rules + prose_style_rules + [ {'pattern': '\[(?P[^\]]+)\]\((?P=url)\)', 'description': 'Linkified markdown URLs should use cleaner syntax.'} - ]), + ], max_length=120, length_exclude=markdown_docs_length_exclude, )