Source

pylint / reporters / json.py

Full commit
import sys

from collections import defaultdict

from pylint.reporters import BaseReporter
from pylint.interfaces import IReporter

class JsonReporter(BaseReporter):
    """Renders the report output as a json stream
    """

    __implements__ = IReporter
    extension = 'json'

    def __init__(self, output=sys.stdout):
        TextReporter.__init__(self, output)
        self._data = defaultdict(list)

    def add_message(self, msg_id, location, msg):
        path, module, obj, line, col_offset = location
        self._data[path].append(
            (line, col_offset), module, obj, (msg_id, msg)
        )

    def display_results(self, layout):
        pass