diff options
author | Daniƫl van Noord <13665637+DanielNoord@users.noreply.github.com> | 2022-03-25 15:28:20 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-25 15:28:20 +0100 |
commit | 3366e0dba0c04eebf2f4376f82d91fc88e46e67e (patch) | |
tree | 62a8f61cde78137d87557bbe981e58ba625b0599 /pylint/reporters | |
parent | 224fe934f30ac0cbeb3bae81260008cc302402a7 (diff) | |
download | pylint-git-3366e0dba0c04eebf2f4376f82d91fc88e46e67e.tar.gz |
Add basic typing to ``pylint/reporters`` (#5978)
Diffstat (limited to 'pylint/reporters')
-rw-r--r-- | pylint/reporters/multi_reporter.py | 18 | ||||
-rw-r--r-- | pylint/reporters/reports_handler_mix_in.py | 5 |
2 files changed, 11 insertions, 12 deletions
diff --git a/pylint/reporters/multi_reporter.py b/pylint/reporters/multi_reporter.py index 43822f05c..855ab3c33 100644 --- a/pylint/reporters/multi_reporter.py +++ b/pylint/reporters/multi_reporter.py @@ -3,7 +3,7 @@ # Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt import os -from typing import IO, TYPE_CHECKING, Any, AnyStr, Callable, List, Optional +from typing import TYPE_CHECKING, Callable, List, Optional, TextIO from pylint.interfaces import IReporter from pylint.message import Message @@ -11,11 +11,9 @@ from pylint.reporters.base_reporter import BaseReporter from pylint.utils import LinterStats if TYPE_CHECKING: + from pylint.lint import PyLinter from pylint.reporters.ureports.nodes import Section -AnyFile = IO[AnyStr] -PyLinter = Any - class MultiReporter: """Reports messages and layouts in plain text.""" @@ -34,21 +32,21 @@ class MultiReporter: self, sub_reporters: List[BaseReporter], close_output_files: Callable[[], None], - output: Optional[AnyFile] = None, + output: Optional[TextIO] = None, ): self._sub_reporters = sub_reporters self.close_output_files = close_output_files self._path_strip_prefix = os.getcwd() + os.sep - self._linter: Optional[PyLinter] = None + self._linter: Optional["PyLinter"] = None self.out = output self.messages: List[Message] = [] @property - def out(self): + def out(self) -> Optional[TextIO]: return self.__out @out.setter - def out(self, output: Optional[AnyFile] = None): + def out(self, output: Optional[TextIO] = None) -> None: """MultiReporter doesn't have its own output. This method is only provided for API parity with BaseReporter @@ -66,11 +64,11 @@ class MultiReporter: return self._path_strip_prefix @property - def linter(self) -> Optional[PyLinter]: + def linter(self) -> Optional["PyLinter"]: return self._linter @linter.setter - def linter(self, value: PyLinter) -> None: + def linter(self, value: "PyLinter") -> None: self._linter = value for rep in self._sub_reporters: rep.linter = value diff --git a/pylint/reporters/reports_handler_mix_in.py b/pylint/reporters/reports_handler_mix_in.py index 890d58660..180513a78 100644 --- a/pylint/reporters/reports_handler_mix_in.py +++ b/pylint/reporters/reports_handler_mix_in.py @@ -22,7 +22,8 @@ if TYPE_CHECKING: from pylint.checkers import BaseChecker from pylint.lint.pylinter import PyLinter -ReportsDict = DefaultDict["BaseChecker", List[Tuple[str, str, Callable]]] +ReportsCallable = Callable[[Section, LinterStats, Optional[LinterStats]], None] +ReportsDict = DefaultDict["BaseChecker", List[Tuple[str, str, ReportsCallable]]] class ReportsHandlerMixIn: @@ -39,7 +40,7 @@ class ReportsHandlerMixIn: return list(self._reports) def register_report( - self, reportid: str, r_title: str, r_cb: Callable, checker: "BaseChecker" + self, reportid: str, r_title: str, r_cb: ReportsCallable, checker: "BaseChecker" ) -> None: """Register a report. |