diff options
| author | Torsten Marek <shlomme@gmail.com> | 2014-04-09 00:19:18 +0200 |
|---|---|---|
| committer | Torsten Marek <shlomme@gmail.com> | 2014-04-09 00:19:18 +0200 |
| commit | 5a6ee7e00b58de14a38aade53d938f72c8c1f712 (patch) | |
| tree | 16ea474c6c0ad59889a9524b758c5e2e4347d4a3 /utils.py | |
| parent | 1019cfc1911bd02695e0deb9b8e4d988df289a48 (diff) | |
| download | pylint-git-5a6ee7e00b58de14a38aade53d938f72c8c1f712.tar.gz | |
Do not crash when disable or enable in the RC file contain invalid message IDs or names.
Closes #170
Diffstat (limited to 'utils.py')
| -rw-r--r-- | utils.py | 26 |
1 files changed, 20 insertions, 6 deletions
@@ -247,7 +247,7 @@ class MessagesHandlerMixIn(object): self._alternative_names[old_symbol] = msg self._msgs_by_category.setdefault(msg.msgid[0], []).append(msg.msgid) - def disable(self, msgid, scope='package', line=None): + def disable(self, msgid, scope='package', line=None, ignore_unknown=False): """don't output message of the given id""" assert scope in ('package', 'module') # handle disable=all by disabling all categories @@ -272,8 +272,15 @@ class MessagesHandlerMixIn(object): if msgid.lower().startswith('rp'): self.disable_report(msgid) return - # msgid is a symbolic or numeric msgid. - msg = self.check_message_id(msgid) + + try: + # msgid is a symbolic or numeric msgid. + msg = self.check_message_id(msgid) + except UnknownMessage: + if ignore_unknown: + return + raise + if scope == 'module': assert line > 0 try: @@ -290,7 +297,7 @@ class MessagesHandlerMixIn(object): self.config.disable_msg = [mid for mid, val in msgs.iteritems() if not val] - def enable(self, msgid, scope='package', line=None): + def enable(self, msgid, scope='package', line=None, ignore_unknown=False): """reenable message of the given id""" assert scope in ('package', 'module') catid = category_id(msgid) @@ -309,8 +316,15 @@ class MessagesHandlerMixIn(object): if msgid.lower().startswith('rp'): self.enable_report(msgid) return - # msgid is a symbolic or numeric msgid. - msg = self.check_message_id(msgid) + + try: + # msgid is a symbolic or numeric msgid. + msg = self.check_message_id(msgid) + except UnknownMessage: + if ignore_unknown: + return + raise + if scope == 'module': assert line > 0 try: |
