Add mypy env

There are still kinks to be worked out but this works reasonably well.
This will fail until we can figure out how to import things from the
typing module for the type: comments only. We do not want to add a
dependency on that backport only for this mypy env.
This commit is contained in:
Ian Cordasco 2016-02-21 13:09:44 -06:00
parent 1b91c8d66a
commit 1312e4e0ef
2 changed files with 14 additions and 3 deletions

View file

@ -74,7 +74,7 @@ class StyleGuide(object):
self._decision_cache = {} self._decision_cache = {}
def is_user_selected(self, code): def is_user_selected(self, code):
# type: (Error) -> Union[Selected, Ignored] # type: (str) -> Union[Selected, Ignored]
"""Determine if the code has been selected by the user. """Determine if the code has been selected by the user.
:param str code: :param str code:
@ -95,7 +95,7 @@ class StyleGuide(object):
return Ignored.Implicitly return Ignored.Implicitly
def is_user_ignored(self, code): def is_user_ignored(self, code):
# type: (Error) -> Union[Selected, Ignored] # type: (str) -> Union[Selected, Ignored]
"""Determine if the code has been ignored by the user. """Determine if the code has been ignored by the user.
:param str code: :param str code:
@ -123,7 +123,7 @@ class StyleGuide(object):
return Decision.Ignored return Decision.Ignored
def should_report_error(self, code): def should_report_error(self, code):
# type: (Error) -> Decision # type: (str) -> Decision
"""Determine if the error code should be reported or ignored. """Determine if the error code should be reported or ignored.
This method only cares about the select and ignore rules as specified This method only cares about the select and ignore rules as specified
@ -159,6 +159,7 @@ class StyleGuide(object):
return decision return decision
def is_inline_ignored(self, error): def is_inline_ignored(self, error):
# type: (Error) -> bool
"""Determine if an comment has been added to ignore this line.""" """Determine if an comment has been added to ignore this line."""
# TODO(sigmavirus24): Determine how to handle stdin with linecache # TODO(sigmavirus24): Determine how to handle stdin with linecache
if self.options.disable_noqa: if self.options.disable_noqa:

10
tox.ini
View file

@ -35,6 +35,16 @@ deps =
commands = commands =
pylint flake8 pylint flake8
[testenv:mypy]
basepython = python3
skipsdist = true
skip_install = true
use_develop = false
deps =
mypy-lang
commands =
mypy flake8
[testenv:docs] [testenv:docs]
deps = deps =
sphinx>=1.3.0 sphinx>=1.3.0