@classmethod
def from_msg_to_dict(cls, msg):
    """Convert pylint output to a dict.

        From the output of pylint msg, to a dict, where each key
        is a unique error identifier, value is a list of LintOutput
        """
    result = {}
    for line in msg.splitlines():
        obj = cls.from_line(line)
        if obj is None or obj.is_ignored():
            continue
        key = obj.key()
        if key not in result:
            result[key] = []
        result[key].append(obj)
    return result
