pylint/lint.py
def report_messages_by_module_stats(sect, stats, _):
    """make errors / warnings by modules report"""
    if len(stats["by_module"]) == 1:
        # don't print this report when we are analysing a single module
        raise exceptions.EmptyReportError()
    by_mod = collections.defaultdict(dict)
    for m_type in ("fatal", "error", "warning", "refactor", "convention"):
        total = stats[m_type]
        for module in stats["by_module"].keys():
            mod_total = stats["by_module"][module][m_type]
            if total == 0:
                percent = 0
            else:
                percent = float((mod_total) * 100) / total
            by_mod[module][m_type] = percent
    sorted_result = []
    for module, mod_info in by_mod.items():
        sorted_result.append(
            (
                mod_info["error"],
                mod_info["warning"],
                mod_info["refactor"],
                mod_info["convention"],
                module,
            )
        )
    sorted_result.sort()
    sorted_result.reverse()
    lines = ["module", "error", "warning", "refactor", "convention"]
    for line in sorted_result:
        # Don't report clean modules.
        if all(entry == 0 for entry in line[:-1]):
            continue
        lines.append(line[-1])
        for val in line[:-1]:
            lines.append("%.2f" % val)
    if len(lines) == 5:
        raise exceptions.EmptyReportError()
    sect.append(report_nodes.Table(children=lines, cols=5, rheaders=1))
def report_messages_by_module_stats(sect, stats, _):
    """make errors / warnings by modules report"""
    if len(stats["by_module"]) == 1:
        # don't print this report when we are analysing a single module
        raise exceptions.EmptyReportError()
    by_mod = collections.defaultdict(dict)
    for m_type in ("fatal", "error", "warning", "refactor", "convention"):
        total = stats[m_type]
        for module in stats["by_module"].keys():
            mod_total = stats["by_module"][module][m_type]
            if total == 0:
                percent = 0
            else:
                percent = float((mod_total) * 100) / total
            by_mod[module][m_type] = percent
    sorted_result = []
    for module, mod_info in by_mod.items():
        sorted_result.append(
            (
                mod_info["error"],
                mod_info["warning"],
                mod_info["refactor"],
                mod_info["convention"],
                module,
            )
        )
    sorted_result.sort()
    sorted_result.reverse()
    lines = ["module", "error", "warning", "refactor", "convention"]
    for line in sorted_result:
        # Don't report clean modules.
        if all(entry == 0 for entry in line[:-1]):
            continue
        lines.append(line[-1])
        for val in line[:-1]:
            lines.append("%.2f" % val)
    if len(lines) == 5:
        raise exceptions.EmptyReportError()
    sect.append(report_nodes.Table(children=lines, cols=5, rheaders=1))
def report_messages_by_module_stats ( sect , stats , _ ) : if len ( stats [ "by_module" ] ) == 1 : # don't print this report when we are analysing a single module raise exceptions . EmptyReportError ( ) by_mod = collections . defaultdict ( dict ) for m_type in ( "fatal" , "error" , "warning" , "refactor" , "convention" ) : total = stats [ m_type ] for module in stats [ "by_module" ] . keys ( ) : mod_total = stats [ "by_module" ] [ module ] [ m_type ] if total == 0 : percent = 0 else : percent = float ( ( mod_total ) * 100 ) / total by_mod [ module ] [ m_type ] = percent sorted_result = [ ] for module , mod_info in by_mod . items ( ) : sorted_result . append ( ( mod_info [ "error" ] , mod_info [ "warning" ] , mod_info [ "refactor" ] , mod_info [ "convention" ] , module , ) ) sorted_result . sort ( ) sorted_result . reverse ( ) lines = [ "module" , "error" , "warning" , "refactor" , "convention" ] for line in sorted_result : # Don't report clean modules. if all ( entry == 0 for entry in line [ : - 1 ] ) : continue lines . append ( line [ - 1 ] ) for val in line [ : - 1 ] : lines . append ( "%.2f" % val ) if len ( lines ) == 5 : raise exceptions . EmptyReportError ( ) sect . append ( report_nodes . Table ( children = lines , cols = 5 , rheaders = 1 ) )
make errors / warnings by modules report
make errors / warnings by modules report