diff --git a/prospector/exceptions.py b/prospector/exceptions.py index a427757f..5b51a9ff 100644 --- a/prospector/exceptions.py +++ b/prospector/exceptions.py @@ -1,5 +1,12 @@ # -*- coding: utf-8 -*- +# We are trying to handle pylint changes in their exception classes +try: + # pylint < 1.7 + from pylint.utils import UnknownMessage as UnknownMessageError +except ImportError: + # pylint >= 1.7 + from pylint.exceptions import UnknownMessageError class FatalProspectorException(Exception): diff --git a/prospector/tools/pylint/__init__.py b/prospector/tools/pylint/__init__.py index 875e1e85..b569d466 100644 --- a/prospector/tools/pylint/__init__.py +++ b/prospector/tools/pylint/__init__.py @@ -4,7 +4,7 @@ import sys import os from pylint.config import find_pylintrc -from pylint.utils import UnknownMessage +from prospector.exceptions import UnknownMessageError from prospector.message import Message, Location from prospector.tools.base import ToolBase from prospector.tools.pylint.collector import Collector @@ -41,7 +41,7 @@ def _prospector_configure(self, prospector_config, linter): try: linter.disable(msg_id) # pylint: disable=pointless-except - except UnknownMessage: + except UnknownMessageError: # If the msg_id doesn't exist in PyLint any more, # don't worry about it. pass diff --git a/prospector/tools/pylint/collector.py b/prospector/tools/pylint/collector.py index 65c0bd41..fa3e6cc1 100644 --- a/prospector/tools/pylint/collector.py +++ b/prospector/tools/pylint/collector.py @@ -1,6 +1,6 @@ from __future__ import absolute_import from pylint.reporters import BaseReporter -from pylint.utils import UnknownMessage +from prospector.exceptions import UnknownMessageError from prospector.message import Location, Message @@ -20,7 +20,7 @@ def add_message(self, msg_id, location, msg): # more user-friendly symbol try: msg_data = self._message_store.check_message_id(msg_id) - except UnknownMessage: + except UnknownMessageError: # this shouldn't happen, as all pylint errors should be # in the message store, but just in case we'll fall back # to using the code.