summaryrefslogtreecommitdiff
path: root/pylint/reporters
diff options
context:
space:
mode:
authorDaniƫl van Noord <13665637+DanielNoord@users.noreply.github.com>2022-03-25 15:28:20 +0100
committerGitHub <noreply@github.com>2022-03-25 15:28:20 +0100
commit3366e0dba0c04eebf2f4376f82d91fc88e46e67e (patch)
tree62a8f61cde78137d87557bbe981e58ba625b0599 /pylint/reporters
parent224fe934f30ac0cbeb3bae81260008cc302402a7 (diff)
downloadpylint-git-3366e0dba0c04eebf2f4376f82d91fc88e46e67e.tar.gz
Add basic typing to ``pylint/reporters`` (#5978)
Diffstat (limited to 'pylint/reporters')
-rw-r--r--pylint/reporters/multi_reporter.py18
-rw-r--r--pylint/reporters/reports_handler_mix_in.py5
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.