diff options
| -rw-r--r-- | pylint/interfaces.py | 2 | ||||
| -rw-r--r-- | pylint/reporters/base_reporter.py | 7 | ||||
| -rw-r--r-- | pylint/reporters/collecting_reporter.py | 4 | ||||
| -rw-r--r-- | pylint/reporters/json_reporter.py | 5 | ||||
| -rw-r--r-- | pylint/reporters/multi_reporter.py | 3 | ||||
| -rw-r--r-- | pylint/reporters/text.py | 5 | ||||
| -rw-r--r-- | pylint/testutils/reporter_for_tests.py | 23 | ||||
| -rw-r--r-- | tests/extensions/test_broad_try_clause.py | 3 | ||||
| -rw-r--r-- | tests/extensions/test_comparetozero.py | 3 | ||||
| -rw-r--r-- | tests/test_self.py | 3 |
10 files changed, 23 insertions, 35 deletions
diff --git a/pylint/interfaces.py b/pylint/interfaces.py index e61a04928..1281843a8 100644 --- a/pylint/interfaces.py +++ b/pylint/interfaces.py @@ -91,7 +91,7 @@ class IAstroidChecker(IChecker): class IReporter(Interface): """reporter collect messages and display results encapsulated in a layout""" - def handle_message(self, msg): + def handle_message(self, msg) -> None: """Handle the given message object.""" def display_reports(self, layout): diff --git a/pylint/reporters/base_reporter.py b/pylint/reporters/base_reporter.py index 8fd66a434..858073a66 100644 --- a/pylint/reporters/base_reporter.py +++ b/pylint/reporters/base_reporter.py @@ -3,6 +3,9 @@ import os import sys +from typing import List + +from pylint.message import Message class BaseReporter: @@ -19,11 +22,13 @@ class BaseReporter: self.out = None self.out_encoding = None self.set_output(output) + self.messages: List[Message] = [] # Build the path prefix to strip to get relative paths self.path_strip_prefix = os.getcwd() + os.sep - def handle_message(self, msg): + def handle_message(self, msg: Message) -> None: """Handle a new message triggered on the current file.""" + self.messages.append(msg) def set_output(self, output=None): """set output stream""" diff --git a/pylint/reporters/collecting_reporter.py b/pylint/reporters/collecting_reporter.py index 68c0cbf9e..814c4c7f6 100644 --- a/pylint/reporters/collecting_reporter.py +++ b/pylint/reporters/collecting_reporter.py @@ -1,6 +1,5 @@ # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html # For details: https://github.com/PyCQA/pylint/blob/master/LICENSE - from pylint.reporters.base_reporter import BaseReporter @@ -13,9 +12,6 @@ class CollectingReporter(BaseReporter): BaseReporter.__init__(self) self.messages = [] - def handle_message(self, msg): - self.messages.append(msg) - def reset(self): self.messages = [] diff --git a/pylint/reporters/json_reporter.py b/pylint/reporters/json_reporter.py index 1a53f5f3d..352430220 100644 --- a/pylint/reporters/json_reporter.py +++ b/pylint/reporters/json_reporter.py @@ -12,7 +12,6 @@ """JSON reporter""" import json -import sys from pylint.interfaces import IReporter from pylint.reporters.base_reporter import BaseReporter @@ -25,10 +24,6 @@ class JSONReporter(BaseReporter): name = "json" extension = "json" - def __init__(self, output=None): - BaseReporter.__init__(self, output or sys.stdout) - self.messages = [] - def handle_message(self, msg): """Manage message of different type and in the context of path.""" self.messages.append( diff --git a/pylint/reporters/multi_reporter.py b/pylint/reporters/multi_reporter.py index 5723dc160..506b9c3bf 100644 --- a/pylint/reporters/multi_reporter.py +++ b/pylint/reporters/multi_reporter.py @@ -6,6 +6,7 @@ import os from typing import IO, Any, AnyStr, Callable, List, Mapping, Optional, Union from pylint.interfaces import IReporter +from pylint.message import Message from pylint.reporters.base_reporter import BaseReporter from pylint.reporters.ureports.nodes import BaseLayout @@ -58,7 +59,7 @@ class MultiReporter: for rep in self._sub_reporters: rep.linter = value - def handle_message(self, msg: str) -> None: + def handle_message(self, msg: Message) -> None: """Handle a new message triggered on the current file.""" for rep in self._sub_reporters: rep.handle_message(msg) diff --git a/pylint/reporters/text.py b/pylint/reporters/text.py index 9142c594e..8e796c294 100644 --- a/pylint/reporters/text.py +++ b/pylint/reporters/text.py @@ -27,6 +27,7 @@ import warnings from pylint import utils from pylint.interfaces import IReporter +from pylint.message import Message from pylint.reporters import BaseReporter from pylint.reporters.ureports.text_writer import TextWriter @@ -141,7 +142,7 @@ class TextReporter(BaseReporter): """Convenience method to write a formatted message with class default template""" self.writeln(msg.format(self._template)) - def handle_message(self, msg): + def handle_message(self, msg: Message) -> None: """manage message of different type and in the context of path""" if msg.module not in self._modules: if msg.module: @@ -217,7 +218,7 @@ class ColorizedTextReporter(TextReporter): except KeyError: return None, None - def handle_message(self, msg): + def handle_message(self, msg: Message) -> None: """manage message of different types, and colorize output using ansi escape codes """ diff --git a/pylint/testutils/reporter_for_tests.py b/pylint/testutils/reporter_for_tests.py index 1cb4b4a59..e56a0e284 100644 --- a/pylint/testutils/reporter_for_tests.py +++ b/pylint/testutils/reporter_for_tests.py @@ -3,8 +3,10 @@ from io import StringIO from os import getcwd, linesep, sep +from typing import Dict, List from pylint import interfaces +from pylint.message import Message from pylint.reporters import BaseReporter @@ -14,21 +16,20 @@ class GenericTestReporter(BaseReporter): __implements__ = interfaces.IReporter def __init__(self): # pylint: disable=super-init-not-called - - self.message_ids = {} self.reset() - self.path_strip_prefix = getcwd() + sep def reset(self): + self.message_ids: Dict = {} self.out = StringIO() - self.messages = [] + self.path_strip_prefix: str = getcwd() + sep + self.messages: List[str] = [] - def handle_message(self, msg): + def handle_message(self, msg: Message) -> None: """manage message of different type and in the context of path""" obj = msg.obj line = msg.line msg_id = msg.msg_id - msg = msg.msg + str_message: str = msg.msg self.message_ids[msg_id] = 1 if obj: obj = ":%s" % obj @@ -36,8 +37,8 @@ class GenericTestReporter(BaseReporter): if linesep != "\n": # 2to3 writes os.linesep instead of using # the previously used line separators - msg = msg.replace("\r\n", "\n") - self.messages.append(f"{sigle}:{line:>3}{obj}: {msg}") + str_message = str_message.replace("\r\n", "\n") + self.messages.append(f"{sigle}:{line:>3}{obj}: {str_message}") def finalize(self): self.messages.sort() @@ -60,9 +61,6 @@ class GenericTestReporter(BaseReporter): class MinimalTestReporter(BaseReporter): - def handle_message(self, msg): - self.messages.append(msg) - def on_set_current_module(self, module, filepath): self.messages = [] @@ -70,9 +68,6 @@ class MinimalTestReporter(BaseReporter): class FunctionalTestReporter(BaseReporter): # pylint: disable=abstract-method - def handle_message(self, msg): - self.messages.append(msg) - def on_set_current_module(self, module, filepath): self.messages = [] diff --git a/tests/extensions/test_broad_try_clause.py b/tests/extensions/test_broad_try_clause.py index 3ba2b8118..fb9cffbc6 100644 --- a/tests/extensions/test_broad_try_clause.py +++ b/tests/extensions/test_broad_try_clause.py @@ -20,9 +20,6 @@ from pylint.reporters import BaseReporter class BroadTryClauseTestReporter(BaseReporter): - def handle_message(self, msg): - self.messages.append(msg) - def on_set_current_module(self, module, filepath): self.messages = [] diff --git a/tests/extensions/test_comparetozero.py b/tests/extensions/test_comparetozero.py index 51af08498..e9bea88b4 100644 --- a/tests/extensions/test_comparetozero.py +++ b/tests/extensions/test_comparetozero.py @@ -21,9 +21,6 @@ from pylint.reporters import BaseReporter class CompareToZeroTestReporter(BaseReporter): - def handle_message(self, msg): - self.messages.append(msg) - def on_set_current_module(self, module, filepath): self.messages = [] diff --git a/tests/test_self.py b/tests/test_self.py index d8da706a7..6dc1d0a2a 100644 --- a/tests/test_self.py +++ b/tests/test_self.py @@ -57,6 +57,7 @@ import pytest from pylint import modify_sys_path from pylint.constants import MAIN_CHECKER_NAME, MSG_TYPES_STATUS from pylint.lint import Run +from pylint.message import Message from pylint.reporters import JSONReporter from pylint.reporters.text import BaseReporter, ColorizedTextReporter, TextReporter from pylint.utils import utils @@ -104,7 +105,7 @@ class MultiReporter(BaseReporter): for rep in self._reporters: rep.on_set_current_module(*args, **kwargs) - def handle_message(self, msg): + def handle_message(self, msg: Message) -> None: for rep in self._reporters: rep.handle_message(msg) |
