|
|
|
""" reporter used by gui.py """
|
|
|
|
|
|
|
|
import sys
|
|
|
|
|
|
|
|
from pylint.interfaces import IReporter
|
|
|
|
from pylint.reporters import BaseReporter, Message
|
|
|
|
from logilab.common.ureports import TextWriter
|
|
|
|
|
|
|
|
|
|
|
|
class GUIReporter(BaseReporter):
|
|
|
|
"""saves messages"""
|
|
|
|
|
|
|
|
__implements__ = IReporter
|
|
|
|
extension = ''
|
|
|
|
|
|
|
|
def __init__(self, gui, output=sys.stdout):
|
|
|
|
"""init"""
|
|
|
|
BaseReporter.__init__(self, output)
|
|
|
|
self.gui = gui
|
|
|
|
|
|
|
|
def add_message(self, msg_id, location, msg):
|
|
|
|
"""manage message of different type and in the context of path"""
|
|
|
|
message = Message(self, msg_id, location, msg)
|
|
|
|
self.gui.msg_queue.put(message)
|
|
|
|
|
|
|
|
def _display(self, layout):
|
|
|
|
"""launch layouts display"""
|
|
|
|
TextWriter().format(layout, self.out)
|