diff --git a/freqtrade/commands/list_commands.py b/freqtrade/commands/list_commands.py index e3c598786..d6fdd3111 100644 --- a/freqtrade/commands/list_commands.py +++ b/freqtrade/commands/list_commands.py @@ -280,9 +280,14 @@ def start_list_markets(args: Dict[str, Any], pairs_only: bool = False) -> None: writer.writeheader() writer.writerows(tabular_data) else: - # print data as a table, with the human-readable summary - print(f"{summary_str}:") - print(tabulate(tabular_data, headers="keys", tablefmt="psql", stralign="right")) + table = Table(title=summary_str) + for header in headers: + table.add_column(header, justify="right") + for row in tabular_data: + table.add_row(*[str(row[header]) for header in headers]) + + console = Console() + console.print(table) elif not ( args.get("print_one_column", False) or args.get("list_pairs_print_json", False) diff --git a/tests/commands/test_commands.py b/tests/commands/test_commands.py index 818533630..7e4d2e2cc 100644 --- a/tests/commands/test_commands.py +++ b/tests/commands/test_commands.py @@ -293,7 +293,7 @@ def test_list_markets(mocker, markets_static, capsys): pargs["config"] = None start_list_markets(pargs, False) captured = capsys.readouterr() - assert re.match("\nExchange Binance has 12 active markets:\n", captured.out) + assert re.search(r".*Exchange Binance has 12 active markets.*", captured.out) patch_exchange(mocker, api_mock=api_mock, exchange="binance", mock_markets=markets_static) # Test with --all: all markets @@ -491,7 +491,7 @@ def test_list_markets(mocker, markets_static, capsys): ] start_list_markets(get_args(args), False) captured = capsys.readouterr() - assert "Exchange Binance has 12 active markets:\n" in captured.out + assert "Exchange Binance has 12 active markets" in captured.out # Test tabular output, no markets found args = [