summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Sassoulas <pierre.sassoulas@gmail.com>2021-05-31 20:00:53 +0200
committerPierre Sassoulas <pierre.sassoulas@gmail.com>2021-06-02 13:13:01 +0200
commitec78b15c76af6eb41964f624769d115c5796112e (patch)
tree799274f097919b250e157ba7b918b216aba94bbf
parent35a030ea6052d83f2d325868af850f3b26bb53f3 (diff)
downloadpylint-git-ec78b15c76af6eb41964f624769d115c5796112e.tar.gz
Refactor register_message_definition to prevent circular import
-rw-r--r--pylint/message/message_definition_store.py4
-rw-r--r--pylint/message/message_id_store.py16
-rw-r--r--tests/message/unittest_message_id_store.py6
3 files changed, 16 insertions, 10 deletions
diff --git a/pylint/message/message_definition_store.py b/pylint/message/message_definition_store.py
index c8007c54d..382b0904d 100644
--- a/pylint/message/message_definition_store.py
+++ b/pylint/message/message_definition_store.py
@@ -37,7 +37,9 @@ class MessageDefinitionStore:
def register_message(self, message: MessageDefinition) -> None:
"""Register a MessageDefinition with consistency in mind."""
- self.message_id_store.register_message_definition(message)
+ self.message_id_store.register_message_definition(
+ message.msgid, message.symbol, message.old_names
+ )
self._messages_definitions[message.msgid] = message
self._msgs_by_category[message.msgid[0]].append(message.msgid)
diff --git a/pylint/message/message_id_store.py b/pylint/message/message_id_store.py
index 0530b1026..98dd0a587 100644
--- a/pylint/message/message_id_store.py
+++ b/pylint/message/message_id_store.py
@@ -1,6 +1,6 @@
# 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 typing import Dict, List, Optional
+from typing import Dict, List, Optional, Tuple
from pylint.exceptions import InvalidMessageError, UnknownMessageError
@@ -38,14 +38,14 @@ class MessageIdStore:
msg = f"'{symbol}' is not stored in the message store."
raise UnknownMessageError(msg) from e
- def register_message_definition(self, message_definition):
- self.check_msgid_and_symbol(message_definition.msgid, message_definition.symbol)
- self.add_msgid_and_symbol(message_definition.msgid, message_definition.symbol)
- for old_msgid, old_symbol in message_definition.old_names:
+ def register_message_definition(
+ self, msgid: str, symbol: str, old_names: List[Tuple[str, str]]
+ ):
+ self.check_msgid_and_symbol(msgid, symbol)
+ self.add_msgid_and_symbol(msgid, symbol)
+ for old_msgid, old_symbol in old_names:
self.check_msgid_and_symbol(old_msgid, old_symbol)
- self.add_legacy_msgid_and_symbol(
- old_msgid, old_symbol, message_definition.msgid
- )
+ self.add_legacy_msgid_and_symbol(old_msgid, old_symbol, msgid)
def add_msgid_and_symbol(self, msgid: str, symbol: str) -> None:
"""Add valid message id.
diff --git a/tests/message/unittest_message_id_store.py b/tests/message/unittest_message_id_store.py
index 019dbfae3..a411fd792 100644
--- a/tests/message/unittest_message_id_store.py
+++ b/tests/message/unittest_message_id_store.py
@@ -35,7 +35,11 @@ def test_get_message_ids_not_existing(empty_msgid_store):
def test_register_message_definitions(empty_msgid_store, message_definitions):
number_of_msgid = len(message_definitions)
for message_definition in message_definitions:
- empty_msgid_store.register_message_definition(message_definition)
+ empty_msgid_store.register_message_definition(
+ message_definition.msgid,
+ message_definition.symbol,
+ message_definition.old_names,
+ )
if message_definition.old_names:
number_of_msgid += len(message_definition.old_names)
assert len(empty_msgid_store) == number_of_msgid