Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pylint/checkers/format.py
Original file line number Diff line number Diff line change
Expand Up @@ -890,7 +890,7 @@ def process_tokens(self, tokens):
if line_num > self.config.max_module_lines:
# Get the line where the too-many-lines (or its message id)
# was disabled or default to 1.
symbol = self.linter.msgs_store.check_message_id('too-many-lines')
symbol = self.linter.msgs_store.get_message_definition('too-many-lines')
names = (symbol.msgid, 'too-many-lines')
line = next(filter(None,
map(self.linter._pragma_lineno.get, names)), 1)
Expand Down
16 changes: 8 additions & 8 deletions pylint/test/unittest_lint.py
Original file line number Diff line number Diff line change
Expand Up @@ -666,12 +666,12 @@ def _compare_messages(self, desc, msg, checkerref=False):
assert desc == msg.format_help(checkerref=checkerref)

def test_check_message_id(self, store):
assert isinstance(store.check_message_id('W1234'), MessageDefinition)
assert isinstance(store.get_message_definition('W1234'), MessageDefinition)
with pytest.raises(UnknownMessageError):
store.check_message_id('YB12')
store.get_message_definition('YB12')

def test_message_help(self, store):
msg = store.check_message_id('W1234')
msg = store.get_message_definition('W1234')
self._compare_messages(
''':msg-symbol (W1234): *message*
msg description. This message belongs to the achecker checker.''',
Expand All @@ -683,7 +683,7 @@ def test_message_help(self, store):

def test_message_help_minmax(self, store):
# build the message manually to be python version independent
msg = store.check_message_id('E1234')
msg = store.get_message_definition('E1234')
self._compare_messages(
''':duplicate-keyword-arg (E1234): *Duplicate keyword argument %r in %s call*
Used when a function call passes the same keyword argument multiple times.
Expand All @@ -708,8 +708,8 @@ def test_list_messages(self, store):

def test_add_renamed_message(self, store):
store.add_renamed_message('W1234', 'old-bad-name', 'msg-symbol')
assert 'msg-symbol' == store.check_message_id('W1234').symbol
assert 'msg-symbol' == store.check_message_id('old-bad-name').symbol
assert 'msg-symbol' == store.get_message_definition('W1234').symbol
assert 'msg-symbol' == store.get_message_definition('old-bad-name').symbol

def test_add_renamed_message_invalid(self, store):
# conflicting message ID
Expand All @@ -723,8 +723,8 @@ def test_add_renamed_message_invalid(self, store):
assert str(cm.value) == expected

def test_renamed_message_register(self, store):
assert 'msg-symbol' == store.check_message_id('W0001').symbol
assert 'msg-symbol' == store.check_message_id('old-symbol').symbol
assert 'msg-symbol' == store.get_message_definition('W0001').symbol
assert 'msg-symbol' == store.get_message_definition('old-symbol').symbol


def test_custom_should_analyze_file():
Expand Down
34 changes: 18 additions & 16 deletions pylint/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ def _register_by_id_managed_msg(self, msgid, 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."""
try:
msg = self.msgs_store.check_message_id(msgid)
msg = self.msgs_store.get_message_definition(msgid)
if msgid == msg.msgid:
MessagesHandlerMixIn.__by_id_managed_msgs.append(
(self.current_name, msg.msgid, msg.symbol, line, is_disabled))
Expand Down Expand Up @@ -321,7 +321,7 @@ def _set_msg_status(self, msgid, enable, scope='package', line=None, ignore_unkn

try:
# msgid is a symbolic or numeric msgid.
msg = self.msgs_store.check_message_id(msgid)
msg = self.msgs_store.get_message_definition(msgid)
except UnknownMessageError:
if ignore_unknown:
return
Expand Down Expand Up @@ -351,7 +351,7 @@ def _message_symbol(self, msgid):
exist.
"""
try:
return self.msgs_store.check_message_id(msgid).symbol
return self.msgs_store.get_message_definition(msgid).symbol
except UnknownMessageError:
return msgid

Expand All @@ -376,7 +376,7 @@ def is_message_enabled(self, msg_descr, line=None, confidence=None):
if confidence.name not in self.config.confidence:
return False
try:
msgid = self.msgs_store.check_message_id(msg_descr).msgid
msgid = self.msgs_store.get_message_definition(msg_descr).msgid
except UnknownMessageError:
# The linter checks for messages that are not registered
# due to version mismatch, just treat them as message IDs
Expand All @@ -399,7 +399,7 @@ def add_message(self, msg_descr, line=None, node=None, args=None, confidence=UND
provide line if the line number is different), raw and token checkers
must provide the line argument.
"""
msg_info = self.msgs_store.check_message_id(msg_descr)
msg_info = self.msgs_store.get_message_definition(msg_descr)
msgid = msg_info.msgid
# backward compatibility, message may not have a symbol
symbol = msg_info.symbol or msgid
Expand Down Expand Up @@ -620,7 +620,7 @@ def _collect_block_lines(self, msgs_store, node, msg_state):
continue
# Set state for all lines for this block, if the
# warning is applied to nodes.
if msgs_store.check_message_id(msgid).scope == WarningScope.NODE:
if msgs_store.get_message_definition(msgid).scope == WarningScope.NODE:
if lineno > firstchildlineno:
state = True
first_, last_ = node.block_range(lineno)
Expand Down Expand Up @@ -707,7 +707,7 @@ def add_renamed_message(self, old_id, old_symbol, new_symbol):

This allows users to keep using the old ID/symbol in suppressions.
"""
msg = self.check_message_id(new_symbol)
msg = self.get_message_definition(new_symbol)
msg.old_names.append((old_id, old_symbol))
self._register_alternative_name(msg, old_id, old_symbol)

Expand Down Expand Up @@ -864,35 +864,37 @@ def _raise_duplicate_msg_id(symbol, msgid, other_msgid):
)
raise InvalidMessageError(error_message)

def check_message_id(self, msgid):
def get_message_definition(self, msgid_or_symbol):
"""Returns the Message object for this message.

:param str msgid: msgid may be either a numeric or symbolic id.
:param str msgid_or_symbol: msgid_or_symbol may be either a numeric or symbolic id.
:raises UnknownMessageError: if the message id is not defined.
:rtype: MessageDefinition
:return: A message definition corresponding to msgid
:return: A message definition corresponding to msgid_or_symbol
"""
if msgid[1:].isdigit():
msgid = msgid.upper()
if msgid_or_symbol[1:].isdigit():
msgid_or_symbol = msgid_or_symbol.upper()
for source in (self._alternative_names, self._messages):
try:
return source[msgid]
return source[msgid_or_symbol]
except KeyError:
pass
raise UnknownMessageError('No such message id {msgid}'.format(msgid=msgid))
raise UnknownMessageError(
'No such message id {msgid_or_symbol}'.format(msgid_or_symbol=msgid_or_symbol)
)

def get_msg_display_string(self, msgid):
"""Generates a user-consumable representation of a message.

Can be just the message ID or the ID and the symbol.
"""
return repr(self.check_message_id(msgid).symbol)
return repr(self.get_message_definition(msgid).symbol)

def help_message(self, msgids):
"""Display help messages for the given message identifiers"""
for msgid in msgids:
try:
print(self.check_message_id(msgid).format_help(checkerref=True))
print(self.get_message_definition(msgid).format_help(checkerref=True))
print("")
except UnknownMessageError as ex:
print(ex)
Expand Down