Files
mongo/buildscripts/linter/mypy.py
Ryan Egesdahl ca4df25002 SERVER-50592 Update mypy and GitPython pip requirements
Update the mypy and GitPython pip modules that are required for linting
builds before commits to compatible versions rather than hard version
requirements.
2020-09-01 01:19:35 +00:00

36 lines
1.1 KiB
Python

"""Mypy linter support module."""
import os
from typing import List
from . import base
MYPY_CONFIG_FILE = ".mypy.ini"
class MypyLinter(base.LinterBase):
"""Mypy linter."""
def __init__(self):
# type: () -> None
"""Create a mypy linter."""
# User can override the location of mypy from an environment variable.
super(MypyLinter, self).__init__("mypy", "0.580", os.getenv("MYPY"))
def get_lint_version_cmd_args(self):
# type: () -> List[str]
"""Get the command to run a linter version check."""
return ["--version"]
def get_lint_cmd_args(self, file_name):
# type: (str) -> List[str]
"""Get the command to run a linter."""
args = ["--config-file", MYPY_CONFIG_FILE]
# Only idl and linter should be type checked by mypy. Other
# files return errors under python 3 type checking. If we
# return an empty list the runner will skip this file.
if 'idl' in file_name or 'linter' in file_name:
return args + [file_name]
return []