diff options
author | Daniƫl van Noord <13665637+DanielNoord@users.noreply.github.com> | 2021-10-17 10:37:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-17 10:37:02 +0200 |
commit | 97048ded8e7528e927f7f7818beb3d5d79662b03 (patch) | |
tree | 03e9ec6e2c314e31b6ed5fd35ea13ecb4d421147 /pylint/message | |
parent | c332fda9c5e8a2f2bf6588eeb90b3cf5541dc63d (diff) | |
download | pylint-git-97048ded8e7528e927f7f7818beb3d5d79662b03.tar.gz |
Merge ``MessagesHandlerMixIn`` into ``PyLinter`` (#5136)
* Merge ``MessagesHandlerMixIn`` into ``PyLinter``
Diffstat (limited to 'pylint/message')
-rw-r--r-- | pylint/message/__init__.py | 2 | ||||
-rw-r--r-- | pylint/message/message_handler_mix_in.py | 140 |
2 files changed, 0 insertions, 142 deletions
diff --git a/pylint/message/__init__.py b/pylint/message/__init__.py index 346e964f1..f3741030a 100644 --- a/pylint/message/__init__.py +++ b/pylint/message/__init__.py @@ -42,13 +42,11 @@ from pylint.message.message import Message from pylint.message.message_definition import MessageDefinition from pylint.message.message_definition_store import MessageDefinitionStore -from pylint.message.message_handler_mix_in import MessagesHandlerMixIn from pylint.message.message_id_store import MessageIdStore __all__ = [ "Message", "MessageDefinition", "MessageDefinitionStore", - "MessagesHandlerMixIn", "MessageIdStore", ] diff --git a/pylint/message/message_handler_mix_in.py b/pylint/message/message_handler_mix_in.py deleted file mode 100644 index 5e2ba9641..000000000 --- a/pylint/message/message_handler_mix_in.py +++ /dev/null @@ -1,140 +0,0 @@ -# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html -# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE - -from typing import List, Tuple, Union - -from pylint import exceptions -from pylint.constants import MSG_TYPES, MSG_TYPES_LONG - - -class MessagesHandlerMixIn: - """A mix-in class containing all the messages related methods for the main lint class.""" - - __by_id_managed_msgs: List[Tuple[str, str, str, int, bool]] = [] - - def _checker_messages(self, checker): - for known_checker in self._checkers[checker.lower()]: - yield from known_checker.msgs - - @classmethod - def clear_by_id_managed_msgs(cls): - cls.__by_id_managed_msgs.clear() - - @classmethod - def get_by_id_managed_msgs(cls): - return cls.__by_id_managed_msgs - - def _register_by_id_managed_msg(self, msgid_or_symbol: str, line, is_disabled=True): - """If the msgid is a numeric one, then register it to inform the user - it could furnish instead a symbolic msgid.""" - if msgid_or_symbol[1:].isdigit(): - try: - symbol = self.msgs_store.message_id_store.get_symbol(msgid=msgid_or_symbol) # type: ignore - except exceptions.UnknownMessageError: - return - managed = (self.current_name, msgid_or_symbol, symbol, line, is_disabled) # type: ignore - MessagesHandlerMixIn.__by_id_managed_msgs.append(managed) - - def disable(self, msgid, scope="package", line=None, ignore_unknown=False): - self._set_msg_status( - msgid, enable=False, scope=scope, line=line, ignore_unknown=ignore_unknown - ) - self._register_by_id_managed_msg(msgid, line) - - def disable_next( - self, - msgid: str, - scope: str = "package", - line: Union[bool, int, None] = None, - ignore_unknown: bool = False, - ): - if not line: - raise exceptions.NoLineSuppliedError - self._set_msg_status( - msgid, - enable=False, - scope=scope, - line=line + 1, - ignore_unknown=ignore_unknown, - ) - self._register_by_id_managed_msg(msgid, line + 1) - - def enable(self, msgid, scope="package", line=None, ignore_unknown=False): - self._set_msg_status( - msgid, enable=True, scope=scope, line=line, ignore_unknown=ignore_unknown - ) - self._register_by_id_managed_msg(msgid, line, is_disabled=False) - - def _set_msg_status( - self, msgid, enable, scope="package", line=None, ignore_unknown=False - ): - assert scope in ("package", "module") - if msgid == "all": - for _msgid in MSG_TYPES: - self._set_msg_status(_msgid, enable, scope, line, ignore_unknown) - return - - # msgid is a category? - category_id = msgid.upper() - if category_id not in MSG_TYPES: - category_id = MSG_TYPES_LONG.get(category_id) - if category_id is not None: - for _msgid in self.msgs_store._msgs_by_category.get(category_id): - self._set_msg_status(_msgid, enable, scope, line) - return - - # msgid is a checker name? - if msgid.lower() in self._checkers: - for checker in self._checkers[msgid.lower()]: - for _msgid in checker.msgs: - self._set_msg_status(_msgid, enable, scope, line) - return - - # msgid is report id? - if msgid.lower().startswith("rp"): - if enable: - self.enable_report(msgid) - else: - self.disable_report(msgid) - return - - try: - # msgid is a symbolic or numeric msgid. - message_definitions = self.msgs_store.get_message_definitions(msgid) - except exceptions.UnknownMessageError: - if ignore_unknown: - return - raise - for message_definition in message_definitions: - self._set_one_msg_status(scope, message_definition, line, enable) - - def _set_one_msg_status(self, scope, msg, line, enable): - if scope == "module": - self.file_state.set_msg_status(msg, line, enable) - if not enable and msg.symbol != "locally-disabled": - self.add_message( - "locally-disabled", line=line, args=(msg.symbol, msg.msgid) - ) - else: - msgs = self._msgs_state - msgs[msg.msgid] = enable - # sync configuration object - self.config.enable = [ - self._message_symbol(mid) for mid, val in sorted(msgs.items()) if val - ] - self.config.disable = [ - self._message_symbol(mid) - for mid, val in sorted(msgs.items()) - if not val - ] - - def _message_symbol(self, msgid): - """Get the message symbol of the given message id - - Return the original message id if the message does not - exist. - """ - try: - return [md.symbol for md in self.msgs_store.get_message_definitions(msgid)] - except exceptions.UnknownMessageError: - return msgid |