Browse Source

mmnode-ticker: add `MarketCap` column

Column is enabled automatically when script is invoked in market cap mode.
The MMGen Project 1 month ago
parent
commit
9aa4b4dcfe
3 changed files with 21 additions and 17 deletions
  1. 6 2
      mmgen_node_tools/Ticker.py
  2. 1 1
      mmgen_node_tools/data/version
  3. 14 14
      test/cmdtest_d/misc.py

+ 6 - 2
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',

+ 1 - 1
mmgen_node_tools/data/version

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

+ 14 - 14
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'])