From df620f923f472ef9d03fd3673395511e8b473c8b Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Tue, 3 Oct 2023 14:35:57 +0000 Subject: [PATCH] minor fixes and cleanups --- mmgen_node_tools/Sound.py | 5 ++++- mmgen_node_tools/Ticker.py | 28 +++++++++++++++------------- mmgen_node_tools/data/version | 2 +- mmgen_node_tools/main_feeview.py | 24 ++++++++++++------------ mmgen_node_tools/main_txfind.py | 2 +- setup.cfg | 2 +- test/test_py_d/ts_main.py | 7 +++---- test/test_py_d/ts_misc.py | 8 ++++---- test/test_py_d/ts_regtest.py | 8 ++++---- test/unit_tests_d/ut_BlocksInfo.py | 4 +--- 10 files changed, 46 insertions(+), 44 deletions(-) diff --git a/mmgen_node_tools/Sound.py b/mmgen_node_tools/Sound.py index 271253c..88d3b02 100755 --- a/mmgen_node_tools/Sound.py +++ b/mmgen_node_tools/Sound.py @@ -20,7 +20,10 @@ mmgen_node_tools.Sound: audio-related functions for MMGen node tools """ import sys,os,time -from mmgen_node_tools.Util import * + +from mmgen.util import die + +from mmgen_node_tools.Util import do_system _alsa_config_file = '/tmp/alsa-config-' + os.path.basename(sys.argv[0]) _dvols = { 'Master': 78, 'Speaker': 78, 'Headphone': 15, 'PCM': 190 } diff --git a/mmgen_node_tools/Ticker.py b/mmgen_node_tools/Ticker.py index e6f0650..97b5dc5 100755 --- a/mmgen_node_tools/Ticker.py +++ b/mmgen_node_tools/Ticker.py @@ -24,7 +24,7 @@ from subprocess import run,PIPE,CalledProcessError from decimal import Decimal from collections import namedtuple -from mmgen.color import * +from mmgen.color import red,yellow,green,blue,orange,gray from mmgen.util import msg,msg_r,Msg,die,Die,suf,fmt,fmt_list,fmt_dict,list_gen homedir = os.getenv('HOME') @@ -37,8 +37,9 @@ def fetch_delay(fetched_data=[]): if not gcfg.testing: if fetched_data: delay = 1 + random.randrange(1,5000) / 1000 - msg(f'Waiting {delay:.3f} seconds...') + msg_r(f'Waiting {delay:.3f} seconds...') time.sleep(delay) + msg('') else: fetched_data.append(None) @@ -265,11 +266,11 @@ class DataSource: def assets_list_gen(cfg_in): for k,v in cfg_in.cfg['assets'].items(): - yield('') - yield(k.upper()) + yield '' + yield k.upper() for e in v: out = e.split('-',1) - yield(' {:5s} {}'.format(out[0],out[1] if len(out) == 2 else '')) + yield ' {:5s} {}'.format(out[0],out[1] if len(out) == 2 else '') def gen_data(data): """ @@ -421,7 +422,8 @@ def main(): if gcfg.list_ids: src_ids = ['cc'] elif gcfg.download: - assert gcfg.download in DataSource.sources, f'{gcfg.download!r}: invalid data source' + if not gcfg.download in DataSource.sources: + die(1,f'{gcfg.download!r}: invalid data source') src_ids = [gcfg.download] else: src_ids = DataSource.sources @@ -449,19 +451,22 @@ def main(): def make_cfg(): + query_tuple = namedtuple('query',['asset','to_asset']) + asset_data = namedtuple('asset_data',['symbol','id','amount','rate','rate_asset','source']) + + def parse_asset_id(s,require_label=False): + return src_cls['fi' if re.match(fi_pat,s) else 'cc'].parse_asset_id(s,require_label) + def get_rows_from_cfg(add_data=None): def gen(): for n,(k,v) in enumerate(cfg_in.cfg['assets'].items()): - yield(k) + yield k if add_data and k in add_data: v += tuple(add_data[k]) for e in v: yield parse_asset_id(e,require_label=True) return tuple(gen()) - def parse_asset_id(s,require_label=False): - return src_cls['fi' if re.match(fi_pat,s) else 'cc'].parse_asset_id(s,require_label) - def parse_usr_asset_arg(key,use_cf_file=False): """ asset_id[:rate[:rate_asset]] @@ -581,9 +586,6 @@ def make_cfg(): cmd_args = gcfg._args cfg_in = get_cfg_in() - query_tuple = namedtuple('query',['asset','to_asset']) - asset_data = namedtuple('asset_data',['symbol','id','amount','rate','rate_asset','source']) - usr_rows = parse_usr_asset_arg('add_rows') usr_columns = parse_usr_asset_arg('add_columns',use_cf_file=True) query = parse_query_arg(cmd_args[0]) if cmd_args else None diff --git a/mmgen_node_tools/data/version b/mmgen_node_tools/data/version index 0c84a84..4b653e3 100644 --- a/mmgen_node_tools/data/version +++ b/mmgen_node_tools/data/version @@ -1 +1 @@ -3.2.dev1 +3.2.dev2 diff --git a/mmgen_node_tools/main_feeview.py b/mmgen_node_tools/main_feeview.py index 72692fc..7bee773 100755 --- a/mmgen_node_tools/main_feeview.py +++ b/mmgen_node_tools/main_feeview.py @@ -145,25 +145,25 @@ def create_data(coin_amt,mempool): def gen_header(host,mempool,blockcount): - yield(fmt(f""" + yield fmt(f""" Mempool Fee Structure Date: {make_timestr()} UTC Host: {host} Network: {proto.coin.upper()} {proto.network.upper()} Block: {blockcount} TX count: {len(mempool)} - """)).strip() + """).strip() if cfg.show_empty: - yield('Displaying all fee brackets') + yield 'Displaying all fee brackets' elif cfg.ignore_below: - yield('Ignoring fee brackets with less than {:,} bytes ({})'.format( - ignore_below, - int2bytespec(ignore_below,'MB','0.6',strip=True,add_space=True), - )) + yield 'Ignoring fee brackets with less than {:,} bytes ({})'.format( + ignore_below, + int2bytespec(ignore_below,'MB','0.6',strip=True,add_space=True), + ) if cfg.include_current: - yield('Including transactions in current fee bracket in Total MB amounts') + yield 'Including transactions in current fee bracket in Total MB amounts' def fmt_mb(n): return int2bytespec(n,'MB',f'0.{precision}',print_sym=False) @@ -187,17 +187,17 @@ def gen_body(data): for i in data: if not i.skip: cum_bytes = i.tx_bytes_cum + i.tx_bytes if cfg.include_current else i.tx_bytes_cum - yield(fs.format( + yield fs.format( a = '{}-{}'.format(i.bottom,i.top) if cfg.ranges else i.top, b = fmt_mb(i.tx_bytes), c = fmt_mb(cum_bytes), - d = '-' * int(col4_w * ( i.tx_bytes / tx_bytes_max )) )) + d = '-' * int(col4_w * ( i.tx_bytes / tx_bytes_max )) ) - yield(fs.format( + yield fs.format( a = 'TOTAL', b = '', c = fmt_mb(data[-1].tx_bytes_cum + data[-1].tx_bytes if data else 0), - d = '' )) + d = '' ) async def main(): diff --git a/mmgen_node_tools/main_txfind.py b/mmgen_node_tools/main_txfind.py index cc8df14..57b691a 100755 --- a/mmgen_node_tools/main_txfind.py +++ b/mmgen_node_tools/main_txfind.py @@ -21,7 +21,7 @@ mmnode-txfind: Find a transaction in the blockchain or mempool """ from mmgen.cfg import Config -from mmgen.util import msg,Msg,die +from mmgen.util import msg,Msg,die,is_hex_str opts_data = { 'text': { diff --git a/setup.cfg b/setup.cfg index 9539a29..aeebff5 100644 --- a/setup.cfg +++ b/setup.cfg @@ -23,7 +23,7 @@ python_requires = >=3.7 include_package_data = True install_requires = - mmgen>=14.0.dev2 + mmgen>=14.0.dev6 yahooquery packages = diff --git a/test/test_py_d/ts_main.py b/test/test_py_d/ts_main.py index 162e3fb..903981c 100755 --- a/test/test_py_d/ts_main.py +++ b/test/test_py_d/ts_main.py @@ -12,11 +12,10 @@ test_py_d.ts_main: Basic operations tests for the test.py test suite """ -import time +import sys,time -from ..include.common import * -from .common import * -from .ts_base import * +from ..include.common import cfg +from .ts_base import TestSuiteBase class TestSuiteMain(TestSuiteBase): 'basic operations with fake RPC data' diff --git a/test/test_py_d/ts_misc.py b/test/test_py_d/ts_misc.py index 28a9e8d..06674ed 100755 --- a/test/test_py_d/ts_misc.py +++ b/test/test_py_d/ts_misc.py @@ -12,10 +12,10 @@ test.test_py_d.ts_misc: Miscellaneous test groups for the test.py test suite """ -import shutil -from ..include.common import * -from .common import * -from .ts_base import * +import os,shutil + +from ..include.common import cfg +from .ts_base import TestSuiteBase refdir = os.path.join('test','ref','ticker') diff --git a/test/test_py_d/ts_regtest.py b/test/test_py_d/ts_regtest.py index f8859b8..2ed45b4 100755 --- a/test/test_py_d/ts_regtest.py +++ b/test/test_py_d/ts_regtest.py @@ -13,13 +13,13 @@ test.test_py_d.ts_regtest: Regtest tests for the test.py test suite """ import os -from mmgen.util import die,gmsg + +from mmgen.util import msg_r,die,gmsg from mmgen.protocol import init_proto from mmgen.proto.btc.regtest import MMGenRegtest -from ..include.common import * -from .common import * -from .ts_base import * +from ..include.common import cfg,imsg,stop_test_daemons,joinpath +from .ts_base import TestSuiteBase args1 = ['--bob'] args2 = ['--bob','--rpc-backend=http'] diff --git a/test/unit_tests_d/ut_BlocksInfo.py b/test/unit_tests_d/ut_BlocksInfo.py index e65e314..b301a66 100755 --- a/test/unit_tests_d/ut_BlocksInfo.py +++ b/test/unit_tests_d/ut_BlocksInfo.py @@ -3,11 +3,9 @@ test.unit_tests_d.nt_BlocksInfo: BlocksInfo unit test for the MMGen Node Tools suite """ -from mmgen.common import * -from mmgen.exception import * from mmgen_node_tools.BlocksInfo import BlocksInfo -from ..include.common import cfg,vmsg +from ..include.common import vmsg tip = 50000 range_vecs = (