minor fixes and cleanups
This commit is contained in:
parent
e5ed814239
commit
3d004c3600
7 changed files with 36 additions and 35 deletions
|
|
@ -474,7 +474,7 @@ Removed {{}} duplicate WIF key{{}} from keylist (also in {pnm} key-address file
|
|||
|
||||
out.append(e)
|
||||
if g.debug_addrlist:
|
||||
Msg('generate():\n{}'.format(e.ppformat()))
|
||||
Msg('generate():\n{}'.format(e.pformat()))
|
||||
|
||||
qmsg('\r{}: {} {}{} generated{}'.format(
|
||||
self.al_id.hl(),t_addrs,self.gen_desc,suf(t_addrs,self.gen_desc_pl),' '*15))
|
||||
|
|
@ -579,7 +579,7 @@ Removed {{}} duplicate WIF key{{}} from keylist (also in {pnm} key-address file
|
|||
qmsg_r('\rGenerating addresses from keylist: {}/{}'.format(n,len(d)))
|
||||
e.addr = ag.to_addr(kg.to_pubhex(e.sec))
|
||||
if g.debug_addrlist:
|
||||
Msg('generate_addrs_from_keys():\n{}'.format(e.ppformat()))
|
||||
Msg('generate_addrs_from_keys():\n{}'.format(e.pformat()))
|
||||
qmsg('\rGenerated addresses from keylist: {}/{} '.format(n,len(d)))
|
||||
|
||||
def format(self,enable_comments=False):
|
||||
|
|
|
|||
|
|
@ -4,16 +4,21 @@ import sys,os,pprint,traceback,re,json
|
|||
from decimal import Decimal
|
||||
from difflib import unified_diff
|
||||
|
||||
def ppformat(d):
|
||||
return pprint.PrettyPrinter(indent=4,compact=True).pformat(d)
|
||||
def ppmsg(*args):
|
||||
sys.stderr.write(ppformat(args if len(args) > 1 else args[0]) + '\n')
|
||||
def PPmsg(*args):
|
||||
sys.stdout.write(ppformat(args if len(args) > 1 else args[0]) + '\n')
|
||||
def ppdie(*args,exit_val=1):
|
||||
sys.stderr.write(ppformat(args if len(args) > 1 else args[0]))
|
||||
def pmsg(*args,out=sys.stderr):
|
||||
d = args if len(args) > 1 else '' if not args else args[0]
|
||||
out.write(pprint.PrettyPrinter(indent=4,compact=True).pformat(d) + '\n')
|
||||
def pdie(*args,exit_val=1,out=sys.stderr):
|
||||
pmsg(*args,out=out)
|
||||
sys.exit(exit_val)
|
||||
def ppdie2(*args): ppdie(*args,exit_val=0)
|
||||
def pexit(*args,out=sys.stderr):
|
||||
pdie(*args,exit_val=0,out=out)
|
||||
|
||||
def Pmsg(*args):
|
||||
pmsg(*args,out=sys.stdout)
|
||||
def Pdie(*args):
|
||||
pdie(*args,out=sys.stdout)
|
||||
def Pexit(*args):
|
||||
pexit(*args,out=sys.stdout)
|
||||
|
||||
def print_stack_trace(message):
|
||||
tb1 = traceback.extract_stack()
|
||||
|
|
@ -28,9 +33,9 @@ def print_stack_trace(message):
|
|||
class MMGenObject(object):
|
||||
|
||||
# Pretty-print any object subclassed from MMGenObject, recursing into sub-objects - WIP
|
||||
def ppmsg(self): print(self.ppformat())
|
||||
def ppdie(self): print(self.ppformat()); sys.exit(0)
|
||||
def ppformat(self,lvl=0,id_list=[]):
|
||||
def pmsg(self): print(self.pformat())
|
||||
def pdie(self): print(self.pformat()); sys.exit(0)
|
||||
def pformat(self,lvl=0,id_list=[]):
|
||||
scalars = (str,int,float,Decimal)
|
||||
def do_list(out,e,lvl=0,is_dict=False):
|
||||
out.append('\n')
|
||||
|
|
@ -38,8 +43,8 @@ class MMGenObject(object):
|
|||
el = i if not is_dict else e[i]
|
||||
if is_dict:
|
||||
out.append('{s}{:<{l}}'.format(i,s=' '*(4*lvl+8),l=10,l2=8*(lvl+1)+8))
|
||||
if hasattr(el,'ppformat'):
|
||||
out.append('{:>{l}}{}'.format('',el.ppformat(lvl=lvl+1,id_list=id_list+[id(self)]),l=(lvl+1)*8))
|
||||
if hasattr(el,'pformat'):
|
||||
out.append('{:>{l}}{}'.format('',el.pformat(lvl=lvl+1,id_list=id_list+[id(self)]),l=(lvl+1)*8))
|
||||
elif isinstance(el,scalars):
|
||||
if isList(e):
|
||||
out.append('{:>{l}}{:16}\n'.format('',repr(el),l=lvl*8))
|
||||
|
|
@ -84,8 +89,8 @@ class MMGenObject(object):
|
|||
if isList(e) or isDict(e):
|
||||
out.append('{:>{l}}{:<10} {:16}'.format('',k,'<'+type(e).__name__+'>',l=(lvl*8)+4))
|
||||
do_list(out,e,lvl=lvl,is_dict=isDict(e))
|
||||
elif hasattr(e,'ppformat') and type(e) != type:
|
||||
out.append('{:>{l}}{:10} {}'.format('',k,e.ppformat(lvl=lvl+1,id_list=id_list+[id(self)]),l=(lvl*8)+4))
|
||||
elif hasattr(e,'pformat') and type(e) != type:
|
||||
out.append('{:>{l}}{:10} {}'.format('',k,e.pformat(lvl=lvl+1,id_list=id_list+[id(self)]),l=(lvl*8)+4))
|
||||
else:
|
||||
out.append('{:>{l}}{:<10} {:16} {}\n'.format(
|
||||
'',k,'<'+type(e).__name__+'>',repr(e),l=(lvl*8)+4))
|
||||
|
|
|
|||
|
|
@ -160,14 +160,12 @@ def send(addr,amt):
|
|||
|
||||
def show_mempool():
|
||||
p = start_cmd('cli','getrawmempool')
|
||||
from pprint import pformat
|
||||
from ast import literal_eval
|
||||
msg(pformat(literal_eval(p.stdout.read().decode())))
|
||||
msg(mmgen_pformat(literal_eval(p.stdout.read().decode())))
|
||||
p.wait()
|
||||
|
||||
def cli(*args):
|
||||
p = start_cmd(*(('cli',) + args))
|
||||
from pprint import pformat
|
||||
Msg_r(p.stdout.read().decode())
|
||||
msg_r(p.stderr.read().decode())
|
||||
p.wait()
|
||||
|
|
|
|||
|
|
@ -818,8 +818,8 @@ Selected non-{pnm} inputs: {{}}""".strip().format(pnm=g.proj_name,pnl=g.proj_nam
|
|||
|
||||
def check_equal(desc,hexio,mmio):
|
||||
if mmio != hexio:
|
||||
msg('\nMMGen {}:\n{}'.format(desc,pformat(mmio)))
|
||||
msg('Hex {}:\n{}'.format(desc,pformat(hexio)))
|
||||
msg('\nMMGen {}:\n{}'.format(desc,mmgen_pformat(mmio)))
|
||||
msg('Hex {}:\n{}'.format(desc,mmgen_pformat(hexio)))
|
||||
m2 = '{} in hex transaction data from coin daemon do not match those in MMGen transaction!\n'
|
||||
raise TxHexMismatch((m2+m).format(desc.capitalize()))
|
||||
|
||||
|
|
|
|||
|
|
@ -90,16 +90,9 @@ def Die(ev=0,s=''):
|
|||
def rdie(ev=0,s=''): die(ev,red(s))
|
||||
def ydie(ev=0,s=''): die(ev,yellow(s))
|
||||
|
||||
def pformat(d):
|
||||
def mmgen_pformat(d):
|
||||
import pprint
|
||||
return pprint.PrettyPrinter(indent=4,compact=True).pformat(d)
|
||||
def pmsg(*args):
|
||||
msg(pformat(args if len(args) > 1 else args[0]))
|
||||
def Pmsg(*args):
|
||||
sys.stdout.write(pformat(args if len(args) > 1 else args[0]) + '\n')
|
||||
def pdie(*args,exit_val=1):
|
||||
sys.stderr.write(pformat(args if len(args) > 1 else args[0]))
|
||||
sys.exit(exit_val)
|
||||
|
||||
def set_for_type(val,refval,desc,invert_bool=False,src=None):
|
||||
src_str = (''," in '{}'".format(src))[bool(src)]
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ cmd_args = opts.init(opts_data)
|
|||
|
||||
def run_test(test,arg,input_data):
|
||||
arg_copy = arg
|
||||
kwargs = {'on_fail':'silent'} if opt.silent else {}
|
||||
kwargs = {'on_fail':'silent'} if opt.silent else {'on_fail':'die'}
|
||||
ret_chk = arg
|
||||
exc_type = None
|
||||
if input_data == 'good' and type(arg) == tuple: arg,ret_chk = arg
|
||||
|
|
@ -98,7 +98,7 @@ def run_test(test,arg,input_data):
|
|||
if not opt.super_silent:
|
||||
msg('==> {}'.format(ret))
|
||||
if opt.verbose and issubclass(cls,MMGenObject):
|
||||
ret.ppmsg() if hasattr(ret,'ppmsg') else ppmsg(ret)
|
||||
ret.pmsg() if hasattr(ret,'pmsg') else pmsg(ret)
|
||||
except Exception as e:
|
||||
if not type(e).__name__ == exc_type:
|
||||
raise
|
||||
|
|
@ -120,10 +120,15 @@ def do_loop():
|
|||
gl = globals()
|
||||
exec('from test.objtest_py_d.ot_{}_{} import tests'.format(g.coin.lower(),network),gl,gl)
|
||||
gmsg('Running data objest tests for {} {}'.format(g.coin,network))
|
||||
clr = None
|
||||
for test in tests:
|
||||
if utests and test not in utests: continue
|
||||
msg((blue,nocolor)[bool(opt.super_silent)]('Testing {}'.format(test)))
|
||||
nl = ('\n','')[bool(opt.super_silent) or clr == None]
|
||||
clr = (blue,nocolor)[bool(opt.super_silent)]
|
||||
msg(clr('{}Testing {}'.format(nl,test)))
|
||||
for k in ('bad','good'):
|
||||
if not opt.silent:
|
||||
msg(purple(capfirst(k)+' input:'))
|
||||
for arg in tests[test][k]:
|
||||
run_test(test,arg,input_data=k)
|
||||
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ class unit_test(object):
|
|||
seed2.subseeds._generate(10)
|
||||
assert len(ss2_list) == 10, len(ss2_list)
|
||||
|
||||
assert seed.ppformat() == seed2.ppformat()
|
||||
assert seed.pformat() == seed2.pformat()
|
||||
|
||||
s = seed.subseeds.format(1,g.subseeds)
|
||||
s_lines = s.strip().split('\n')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue