def format_summary_output()

in memory_analyzer/frontend/frontend_utils.py [0:0]


def format_summary_output(page):
    """
    Formats in prettytable style the pympler summary.
    """
    references = False
    items = page.data
    if not items:
        items = [[f"No data to display for pid {page.pid}.", 0, 0]]
    if any(len(item) == 5 for item in items):
        references = True
    snapshot = "Snapshot Differences" in page.title
    pt = init_table(references, snapshot)
    items.sort(key=lambda x: x[2], reverse=True)
    for sublist in items:
        if snapshot:
            sublist[1] = f"{sublist[1]:+}"
        sublist[2] = readable_size(sublist[2], snapshot)
        if len(sublist) != len(pt.field_names):
            # Fill in missing data with "".
            sublist.extend(["" for _ in range(len(pt.field_names) - len(sublist))])
        pt.add_row(sublist)
    return pt