관리-도구
편집 파일: grouped.py
from collections import defaultdict from prospector.formatters.text import TextFormatter __all__ = ("GroupedFormatter",) class GroupedFormatter(TextFormatter): def render_messages(self): output = [ "Messages", "========", "", ] groups = defaultdict(lambda: defaultdict(list)) for message in self.messages: groups[self._make_path(message.location.path)][message.location.line].append(message) for filename in sorted(groups.keys()): output.append(str(filename)) for line in sorted(groups[filename].keys(), key=lambda x: 0 if x is None else int(x)): output.append(" Line: %s" % line) for message in groups[filename][line]: output.append( " %s: %s / %s%s" % ( message.source, message.code, message.message, (" (col %s)" % message.location.character) if message.location.character else "", ) ) output.append("") return "\n".join(output)