def as_ansitable(self, *, key: str = 'Key', value: str = 'Value', sort: bool = False, sortkey: Callable[[Any], Any] = itemgetter(0), target: IO = sys.stdout, title: str = '{table.name}') -> str: header = [text.title(key), text.title(value)] data = cast(Iterable[List[str]], dict(self).items()) data = list(sorted(data, key=sortkey)) if sort else list(data) if sort: data = list(sorted(data, key=sortkey)) return terminal.table( [header] + list(data), title=text.title(title.format(table=self)), ).table
def table(self, data: terminal.TableDataT, title: str = '', **kwargs: Any) -> terminal.Table: """Format table data as ANSI/ASCII table.""" return terminal.table(data, title=title, target=sys.stdout, **kwargs)