MCPcopy Create free account
hub / github.com/doldecomp/mkdd / generate_changes_plaintext

Function generate_changes_plaintext

tools/changes_fmt.py:68–89  ·  view source on GitHub ↗
(changes: list[Change])

Source from the content-addressed store, hash-verified

66
67
68def generate_changes_plaintext(changes: list[Change]) -> str:
69 if len(changes) == 0:
70 return ""
71
72 table_total_width = 136
73 percents_max_len = 7 + 4 + 7
74 key_max_len = max(len(key) for _, key, _, _ in changes)
75 name_max_len = max(len(name or "Total") for name, _, _, _ in changes)
76 max_width_for_name_col = table_total_width - 3 - key_max_len - 3 - percents_max_len
77 name_max_len = min(max_width_for_name_col, name_max_len)
78
79 out_lines = []
80 for name, key, from_value, to_value in changes:
81 if name is None:
82 name = "Total"
83 if len(name) > name_max_len:
84 name = name[: name_max_len - len("[...]")] + "[...]"
85 out_lines.append(
86 f"{name:>{name_max_len}} | {key:<{key_max_len}} | {format_float(from_value)}% -> {format_float(to_value)}%"
87 )
88
89 return "\n".join(out_lines)
90
91
92def generate_changes_markdown(changes: list[Change], description: str) -> str:

Callers 1

mainFunction · 0.85

Calls 2

format_floatFunction · 0.85
appendMethod · 0.45

Tested by

no test coverage detected