From 9aa4b4dcfef0d95e96513042e42cc86c6bc997ba Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Wed, 15 Oct 2025 10:14:20 +0000 Subject: [PATCH] mmnode-ticker: add `MarketCap` column Column is enabled automatically when script is invoked in market cap mode. --- mmgen_node_tools/Ticker.py | 8 ++++++-- mmgen_node_tools/data/version | 2 +- test/cmdtest_d/misc.py | 28 ++++++++++++++-------------- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/mmgen_node_tools/Ticker.py b/mmgen_node_tools/Ticker.py index ed68eda..9e598de 100755 --- a/mmgen_node_tools/Ticker.py +++ b/mmgen_node_tools/Ticker.py @@ -416,6 +416,7 @@ def gen_data(data): d['percent_change_7d'] = d['quotes']['USD']['percent_change_7d'] d['percent_change_30d'] = d['quotes']['USD']['percent_change_30d'] d['percent_change_1y'] = d['quotes']['USD']['percent_change_1y'] + d['market_cap'] = d['quotes']['USD']['market_cap'] d['last_updated'] = int(datetime.datetime.fromisoformat( d['last_updated']).timestamp()) yield (d['id'], d) @@ -1041,6 +1042,7 @@ class Ticker: return self.fs_num.format( idx = idx, + mcap = d.get('market_cap') / 1_000_000_000 if cfg.asset_range else None, lbl = self.create_label(d['id']) if cfg.name_labels else d['symbol'], pc1 = fmt_pct(d.get('percent_change_7d')), pc2 = fmt_pct(d.get('percent_change_24h')), @@ -1091,8 +1093,9 @@ class Ticker: if cfg.asset_range: num_w = len(str(len(cfg.rows['asset_list']))) col_fs_data.update({ - 'idx': fd(' ' * (num_w + 2), f'{{idx:{num_w}}}) ', num_w + 2)}) - cols = ['idx'] + cols + 'idx': fd(' ' * (num_w + 2), f'{{idx:{num_w}}}) ', num_w + 2), + 'mcap': fd('{mcap:>12}', '{mcap:12.5f}', 12)}) + cols = ['idx', 'label', 'mcap'] + cols[1:] cols2 = list(cols) if cfg.update_time: @@ -1111,6 +1114,7 @@ class Ticker: def table_hdr(self): return self.fs_str.format( lbl = '', + mcap = 'MarketCap(B)', pc1 = ' CHG_7d', pc2 = 'CHG_24h', pc3 = 'CHG_1y', diff --git a/mmgen_node_tools/data/version b/mmgen_node_tools/data/version index 636c831..921f776 100644 --- a/mmgen_node_tools/data/version +++ b/mmgen_node_tools/data/version @@ -1 +1 @@ -3.6.dev5 +3.6.dev6 diff --git a/test/cmdtest_d/misc.py b/test/cmdtest_d/misc.py index b64e33c..a8d259e 100755 --- a/test/cmdtest_d/misc.py +++ b/test/cmdtest_d/misc.py @@ -328,8 +328,8 @@ class CmdTestScripts(CmdTestBase): return self.ticker( ['10'], [ - r'1\) BITCOIN 23,250.77 21,848.7527 1.00000000 \+18.96 \+15.61 \+11.15 \+0.89', - r'6\) ALGORAND 0.33 0.3120 0.00001428 \+16.47 \+13.57 \+9.69 \-0.82' + r'1\) BITCOIN 444.33652 23,250.77 21,848.7527 1.00000000 \+18.96 \+15.61 \+11.15 \+0.89', + r'6\) ALGORAND 2.30691 0.33 0.3120 0.00001428 \+16.47 \+13.57 \+9.69 \-0.82' ], add_opts = ['--widest', '--add-columns=eurusd=x']) @@ -337,11 +337,11 @@ class CmdTestScripts(CmdTestBase): return self.ticker( ['1-5'], [ - 'USD EURUSD=X BTC ' - '--------------------------------------------- ' - r'1\) BTC 23250.77 21848.7527 1.00000000', - r'5\) ADA 0.51 0.4764 0.00002180' - ' ---------------------------------------------' + r'MarketCap\(B\) USD EURUSD=X BTC ' + '--------------------------------------------------------- ' + r'1\) BTC 444.33652 23250.77 21848.7527 1.00000000', + r'5\) ADA 17.11161 0.51 0.4764 0.00002180' + ' ---------------------------------------------------------' ], add_opts = ['--add-columns=eurusd=x']) @@ -349,10 +349,10 @@ class CmdTestScripts(CmdTestBase): return self.ticker( ['2-5'], [ - 'USD EURUSD=X BTC ' - '--------------------------------------------- ' - r'2\) ETH 1659.66 1559.5846 0.07138094', - r'5\) ADA 0.51 0.4764 0.00002180', + r'MarketCap\(B\) USD EURUSD=X BTC ' + '--------------------------------------------------------- ' + r'2\) ETH 202.15129 1659.66 1559.5846 0.07138094', + r'5\) ADA 17.11161 0.51 0.4764 0.00002180', ], add_opts = ['--add-columns=eurusd=x']) @@ -360,8 +360,8 @@ class CmdTestScripts(CmdTestBase): return self.ticker( ['5-5'], [ - 'USD EURUSD=X BTC ' - '--------------------------------------------- ' - r'5\) ADA 0.51 0.4764 0.00002180', + r'MarketCap\(B\) USD EURUSD=X BTC ' + '--------------------------------------------------------- ' + r'5\) ADA 17.11161 0.51 0.4764 0.00002180', ], add_opts = ['--add-columns=eurusd=x'])