1
0
Fork 0
sqlglot/benchmarks/helpers.py
Daniel Baumann 021892b3ff
Merging upstream version 25.0.3.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-02-13 21:37:40 +01:00

28 lines
722 B
Python

import typing as t
def border(columns: t.Iterable[str]) -> str:
columns = " | ".join(columns)
return f"| {columns} |"
def ascii_table(table: list[dict[str, t.Any]]) -> str:
columns = []
for row in table:
for key in row:
if key not in columns:
columns.append(key)
widths = {column: max(len(column), 15) for column in columns}
lines = [
border(column.rjust(width) for column, width in widths.items()),
border(str("-" * width) for width in widths.values()),
]
for row in table:
lines.append(
border(str(row[column]).rjust(width)[0:width] for column, width in widths.items())
)
return "\n".join(lines)