mmnode-ticker: add MarketCap column

Column is enabled automatically when script is invoked in market cap mode.
This commit is contained in:
The MMGen Project 2025-10-15 10:14:20 +00:00
commit 9aa4b4dcfe
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
3 changed files with 21 additions and 17 deletions

View file

@ -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',

View file

@ -1 +1 @@
3.6.dev5
3.6.dev6

View file

@ -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'])