(columns, *, sep=' ', defaultwidth=None)
| 413 | |
| 414 | |
| 415 | def _build_table(columns, *, sep=' ', defaultwidth=None): |
| 416 | header = [] |
| 417 | div = [] |
| 418 | rowfmt = [] |
| 419 | for spec in columns: |
| 420 | width = spec.resolve_width(defaultwidth) |
| 421 | colfmt = spec.fmt |
| 422 | colfmt = f':{spec.fmt}' if spec.fmt else f':{width}' |
| 423 | |
| 424 | header.append(f' {{:^{width}}} '.format(spec.label)) |
| 425 | div.append('-' * (width + 2)) |
| 426 | rowfmt.append(f' {{{spec.field}{colfmt}}} ') |
| 427 | return ( |
| 428 | sep.join(header), |
| 429 | sep.join(div), |
| 430 | sep.join(rowfmt), |
| 431 | ) |
no test coverage detected
searching dependent graphs…