diff --git a/mypy.ini b/mypy.ini index d980ad0..e1676eb 100644 --- a/mypy.ini +++ b/mypy.ini @@ -9,3 +9,5 @@ scripts_are_modules = True show_traceback = True warn_no_return = True +warn_redundant_casts = True +warn_unused_ignores = True diff --git a/zulip/integrations/codebase/zulip_codebase_mirror b/zulip/integrations/codebase/zulip_codebase_mirror index 3086e82..efdf899 100755 --- a/zulip/integrations/codebase/zulip_codebase_mirror +++ b/zulip/integrations/codebase/zulip_codebase_mirror @@ -58,7 +58,7 @@ def make_api_call(path: str) -> Optional[List[Dict[str, Any]]]: "Content-Type": "application/json", "Accept": "application/json"}) if response.status_code == 200: - return json.loads(response.text) # type: ignore # dynamic import + return json.loads(response.text) if response.status_code >= 500: logging.error(str(response.status_code)) diff --git a/zulip/integrations/log2zulip/log2zulip b/zulip/integrations/log2zulip/log2zulip index 318430f..22e8801 100755 --- a/zulip/integrations/log2zulip/log2zulip +++ b/zulip/integrations/log2zulip/log2zulip @@ -113,7 +113,7 @@ if __name__ == "__main__": zulip_client = zulip.init_from_options(args) try: log_files = json.loads(open(args.control_path).read()) - except (json.JSONDecodeError, OSError): # type: ignore # error: Cannot determine type of 'IOError' + except (json.JSONDecodeError, OSError): print("Could not load control data from %s" % (args.control_path,)) traceback.print_exc() sys.exit(1) diff --git a/zulip/tests/test_default_arguments.py b/zulip/tests/test_default_arguments.py index 8a698a5..15259f8 100755 --- a/zulip/tests/test_default_arguments.py +++ b/zulip/tests/test_default_arguments.py @@ -14,7 +14,7 @@ class TestDefaultArguments(TestCase): def test_invalid_arguments(self) -> None: parser = zulip.add_default_arguments(argparse.ArgumentParser(usage="lorem ipsum")) - with self.assertRaises(SystemExit) as cm: # type: ignore # error: "assertRaises" doesn't match argument types + with self.assertRaises(SystemExit) as cm: with patch('sys.stderr', new=io.StringIO()) as mock_stderr: parser.parse_args(['invalid argument']) self.assertEqual(cm.exception.code, 2) diff --git a/zulip/zulip/__init__.py b/zulip/zulip/__init__.py index 35d5523..343bbcc 100644 --- a/zulip/zulip/__init__.py +++ b/zulip/zulip/__init__.py @@ -437,7 +437,7 @@ class Client: # Actually construct the session session = requests.Session() session.auth = requests.auth.HTTPBasicAuth(self.email, self.api_key) - session.verify = self.tls_verification # type: ignore # https://github.com/python/typeshed/pull/1504 + session.verify = self.tls_verification session.cert = client_cert session.headers.update({"User-agent": self.get_user_agent()}) self.session = session diff --git a/zulip_bots/zulip_bots/request_test_lib.py b/zulip_bots/zulip_bots/request_test_lib.py index 4096364..1a7f7e2 100644 --- a/zulip_bots/zulip_bots/request_test_lib.py +++ b/zulip_bots/zulip_bots/request_test_lib.py @@ -25,7 +25,7 @@ def mock_http_conversation(http_data: Dict[str, Any]) -> Any: if is_raw_response: mock_result._content = http_response.encode() # type: ignore # This modifies a "hidden" attribute. else: - mock_result._content = json.dumps(http_response).encode() # type: ignore # See above. + mock_result._content = json.dumps(http_response).encode() mock_result.status_code = http_headers.get('status', 200) return mock_result diff --git a/zulip_botserver/tests/test_server.py b/zulip_botserver/tests/test_server.py index bfc0340..14784bf 100644 --- a/zulip_botserver/tests/test_server.py +++ b/zulip_botserver/tests/test_server.py @@ -115,7 +115,7 @@ class BotServerTests(BotServerTestCase): # This works, but mypy still complains: # error: No overload variant of "assertRaisesRegexp" of "TestCase" matches argument types # [def (*args: builtins.object, **kwargs: builtins.object) -> builtins.SystemExit, builtins.str] - with self.assertRaisesRegexp(SystemExit, # type: ignore + with self.assertRaisesRegexp(SystemExit, 'Error: Bot "nonexistent-bot" doesn\'t exist. Please make ' 'sure you have set up the botserverrc file correctly.'): self.assert_bot_server_response( @@ -228,13 +228,13 @@ class BotServerTests(BotServerTestCase): assert isinstance(module, ModuleType) # load invalid module name - with self.assertRaisesRegexp(SystemExit, # type: ignore + with self.assertRaisesRegexp(SystemExit, 'Error: Bot "botserver-test-case-random-bot" doesn\'t exist. ' 'Please make sure you have set up the botserverrc file correctly.'): module = server.load_lib_modules(['botserver-test-case-random-bot'])['botserver-test-case-random-bot'] # load invalid file path - with self.assertRaisesRegexp(SystemExit, # type: ignore + with self.assertRaisesRegexp(SystemExit, 'Error: Bot "{}/zulip_bots/zulip_bots/bots/helloworld.py" doesn\'t exist. ' 'Please make sure you have set up the botserverrc file correctly.'.format(root_dir)): path = Path(root_dir, 'zulip_bots/zulip_bots/bots/{bot}.py'.format(bot='helloworld')).as_posix()