From 37ccc9fe204dd78ac66e42a48dbcd2a5cbf3c488 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Thu, 27 Jan 2022 11:08:07 +0000 Subject: [PATCH] util.py,wallet.py: whitespace, minor cleanups --- mmgen/util.py | 147 +++++++++++++++++++++++++------------- mmgen/wallet.py | 5 +- test/test_py_d/ts_base.py | 2 +- 3 files changed, 102 insertions(+), 52 deletions(-) diff --git a/mmgen/util.py b/mmgen/util.py index d4aba236..bc0fc66e 100755 --- a/mmgen/util.py +++ b/mmgen/util.py @@ -28,9 +28,6 @@ from .color import * from .globalvars import g from .opts import opt -CUR_HIDE = '\033[?25l' -CUR_SHOW = '\033[?25h' - if g.platform == 'win': def msg_r(s): try: @@ -38,83 +35,122 @@ if g.platform == 'win': g.stderr.flush() except: os.write(2,s.encode()) + + def msg(s): + msg_r(s + '\n') + def Msg_r(s): try: g.stdout.write(s) g.stdout.flush() except: os.write(1,s.encode()) - def msg(s): msg_r(s + '\n') - def Msg(s): Msg_r(s + '\n') + + def Msg(s): + Msg_r(s + '\n') else: + def msg(s): + g.stderr.write(s + '\n') + def msg_r(s): g.stderr.write(s) g.stderr.flush() + + def Msg(s): + g.stdout.write(s + '\n') + def Msg_r(s): g.stdout.write(s) g.stdout.flush() - def msg(s): g.stderr.write(s + '\n') - def Msg(s): g.stdout.write(s + '\n') -def msgred(s): msg(red(s)) -def rmsg(s): msg(red(s)) -def rmsg_r(s): msg_r(red(s)) -def ymsg(s): msg(yellow(s)) -def ymsg_r(s): msg_r(yellow(s)) -def gmsg(s): msg(green(s)) -def gmsg_r(s): msg_r(green(s)) -def bmsg(s): msg(blue(s)) -def bmsg_r(s): msg_r(blue(s)) -def qmsg(s,alt=None): - if opt.quiet: - if alt != None: msg(alt) - else: msg(s) -def qmsg_r(s,alt=None): - if opt.quiet: - if alt != None: msg_r(alt) - else: msg_r(s) +def rmsg(s): + msg(red(s)) + +def ymsg(s): + msg(yellow(s)) + +def gmsg(s): + msg(green(s)) + +def gmsg_r(s): + msg_r(green(s)) + +def bmsg(s): + msg(blue(s)) + +def qmsg(s): + if not opt.quiet: + msg(s) + +def qmsg_r(s): + if not opt.quiet: + msg_r(s) + def vmsg(s,force=False): - if opt.verbose or force: msg(s) + if opt.verbose or force: + msg(s) + def vmsg_r(s,force=False): - if opt.verbose or force: msg_r(s) + if opt.verbose or force: + msg_r(s) + def Vmsg(s,force=False): - if opt.verbose or force: Msg(s) + if opt.verbose or force: + Msg(s) + def Vmsg_r(s,force=False): - if opt.verbose or force: Msg_r(s) + if opt.verbose or force: + Msg_r(s) + def dmsg(s): - if opt.debug: msg(s) + if opt.debug: + msg(s) def mmsg(*args): - for d in args: Msg(repr(d)) + for d in args: + Msg(repr(d)) + def mdie(*args): - mmsg(*args); sys.exit(0) + mmsg(*args) + sys.exit(0) + +def die(ev=0,s=''): + assert isinstance(ev,int) + if s: + msg(s) + sys.exit(ev) def die_wait(delay,ev=0,s=''): assert isinstance(delay,int) assert isinstance(ev,int) - if s: msg(s) + if s: + msg(s) time.sleep(delay) sys.exit(ev) + def die_pause(ev=0,s=''): assert isinstance(ev,int) - if s: msg(s) + if s: + msg(s) input('Press ENTER to exit') sys.exit(ev) -def die(ev=0,s=''): - assert isinstance(ev,int) - if s: msg(s) - sys.exit(ev) + def Die(ev=0,s=''): assert isinstance(ev,int) - if s: Msg(s) + if s: + Msg(s) sys.exit(ev) -def rdie(ev=0,s=''): die(ev,red(s)) -def ydie(ev=0,s=''): die(ev,yellow(s)) +def rdie(ev=0,s=''): + die(ev,red(s)) + +def ydie(ev=0,s=''): + die(ev,yellow(s)) def pp_fmt(d): import pprint return pprint.PrettyPrinter(indent=4,compact=False).pformat(d) + def pp_msg(d): msg(pp_fmt(d)) @@ -291,8 +327,10 @@ def remove_extension(fn,ext): return a if b[1:] == ext else fn def make_chksum_N(s,nchars,sep=False): - if isinstance(s,str): s = s.encode() - if nchars%4 or not (4 <= nchars <= 64): return False + if isinstance(s,str): + s = s.encode() + if nchars%4 or not (4 <= nchars <= 64): + return False s = sha256(sha256(s).digest()).hexdigest().upper() sep = ('',' ')[bool(sep)] return sep.join([s[i*4:i*4+4] for i in range(nchars//4)]) @@ -303,17 +341,25 @@ def make_chksum_8(s,sep=False): return '{} {}'.format(s[:4],s[4:]) if sep else s def make_chksum_6(s): from .obj import HexStr - if isinstance(s,str): s = s.encode() + if isinstance(s,str): + s = s.encode() return HexStr(sha256(s).hexdigest()[:6]) -def is_chksum_6(s): return len(s) == 6 and is_hex_str_lc(s) -def make_iv_chksum(s): return sha256(s).hexdigest()[:8].upper() +def is_chksum_6(s): + return len(s) == 6 and is_hex_str_lc(s) -def splitN(s,n,sep=None): # always return an n-element list +def make_iv_chksum(s): + return sha256(s).hexdigest()[:8].upper() + +def splitN(s,n,sep=None): # always return an n-element list ret = s.split(sep,n-1) return ret + ['' for i in range(n-len(ret))] -def split2(s,sep=None): return splitN(s,2,sep) # always return a 2-element list -def split3(s,sep=None): return splitN(s,3,sep) # always return a 3-element list + +def split2(s,sep=None): + return splitN(s,2,sep) # always return a 2-element list + +def split3(s,sep=None): + return splitN(s,3,sep) # always return a 3-element list def split_into_cols(col_wid,s): return ' '.join([s[col_wid*i:col_wid*(i+1)] for i in range(len(s)//col_wid+1)]).rstrip() @@ -412,10 +458,11 @@ def decode_pretty_hexdump(data): return False def strip_comment(line): - return re.sub(r'\s+$','',re.sub(r'#.*','',line)) + return re.sub('#.*','',line).rstrip() def strip_comments(lines): - return [m for m in [strip_comment(l) for l in lines] if m != ''] + pat = re.compile('#.*') + return [m for m in [pat.sub('',l).rstrip() for l in lines] if m != ''] def compare_chksums(chk1,desc1,chk2,desc2,hdr='',die_on_fail=False,verbose=False): diff --git a/mmgen/wallet.py b/mmgen/wallet.py index 56c84744..9c1735f6 100755 --- a/mmgen/wallet.py +++ b/mmgen/wallet.py @@ -562,6 +562,8 @@ class DieRollSeedFile(WalletUnenc): """ msg('\n'+fmt(m.strip()).format(sb=seed_bitlen,nd=nDierolls)+'\n') + CUR_HIDE = '\033[?25l' + CUR_SHOW = '\033[?25h' cr = '\n' if g.test_suite else '\r' prompt_fs = f'\b\b\b {cr}Enter die roll #{{}}: {CUR_SHOW}' clear_line = '' if g.test_suite else '\r' + ' ' * 25 @@ -908,7 +910,8 @@ to exit and re-run the program with the '--old-incog-fmt' option. 'dec_chk': " {} hash preset" } - def _make_iv_chksum(self,s): return sha256(s).hexdigest()[:8].upper() + def _make_iv_chksum(self,s): + return sha256(s).hexdigest()[:8].upper() def _get_incog_data_len(self,seed_len): return ( diff --git a/test/test_py_d/ts_base.py b/test/test_py_d/ts_base.py index 5ac73597..24801055 100755 --- a/test/test_py_d/ts_base.py +++ b/test/test_py_d/ts_base.py @@ -28,7 +28,7 @@ from .common import * class TestSuiteBase(object): 'initializer class for the test.py test suite' - base_passthru_opts = ('data_dir',) + base_passthru_opts = ('data_dir','skip_cfg_file') passthru_opts = () extra_spawn_args = [] networks = ()