py3port: use dictionary comprehensions where applicable
This commit is contained in:
parent
ae77cb4a51
commit
634fb2e444
8 changed files with 19 additions and 18 deletions
|
|
@ -150,8 +150,8 @@ class EthereumMMGenTX(MMGenTX):
|
|||
o_num = len(self.outputs)
|
||||
assert o_num in o_ok,'Transaction has invalid number of outputs!'.format(o_num)
|
||||
self.make_txobj()
|
||||
ol = [(k,v.decode() if issubclass(type(v),bytes) else str(v)) for k,v in self.txobj.items()]
|
||||
self.hex = json.dumps(dict(ol)).encode()
|
||||
ol = {k: (v.decode() if issubclass(type(v),bytes) else str(v)) for k,v in self.txobj.items()}
|
||||
self.hex = json.dumps(ol).encode()
|
||||
self.update_txid()
|
||||
|
||||
def del_output(self,idx): pass
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ def _process_args(cmd,cmd_args):
|
|||
args = [conv_type(u_args[i],c_args[0][0],c_args[0][1]) for i in range(len(u_args))]
|
||||
else:
|
||||
args = [conv_type(u_args[i],c_args[i][0],c_args[i][1]) for i in range(len(c_args))]
|
||||
kwargs = dict([(k,conv_type(u_kwargs[k],k,type(c_kwargs[k]).__name__)) for k in u_kwargs])
|
||||
kwargs = {k:conv_type(u_kwargs[k],k,type(c_kwargs[k]).__name__) for k in u_kwargs}
|
||||
|
||||
return args,kwargs
|
||||
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@ watch-only wallet using '{}-addrimport' and then re-run this program.
|
|||
tr_rpc.append(o)
|
||||
self.unspent = self.MMGenTwOutputList(
|
||||
self.MMGenTwUnspentOutput(
|
||||
**dict(i for i in list(o.items()) if i[0] in dir(self.MMGenTwUnspentOutput))
|
||||
**{k:v for k,v in o.items() if k in dir(self.MMGenTwUnspentOutput)}
|
||||
) for o in tr_rpc)
|
||||
for u in self.unspent:
|
||||
if u.label == None: u.label = ''
|
||||
|
|
@ -630,7 +630,7 @@ class TwGetBalance(MMGenObject):
|
|||
rpc_init()
|
||||
self.minconf = minconf
|
||||
self.quiet = quiet
|
||||
self.data = dict([(k,[g.proto.coin_amt('0')] * 4) for k in ('TOTAL','Non-MMGen','Non-wallet')])
|
||||
self.data = {k:[g.proto.coin_amt('0')] * 4 for k in ('TOTAL','Non-MMGen','Non-wallet')}
|
||||
self.create_data()
|
||||
|
||||
def create_data(self):
|
||||
|
|
@ -664,10 +664,10 @@ class TwGetBalance(MMGenObject):
|
|||
c=' >={} confirms'.format(self.minconf))
|
||||
for key in sorted(self.data):
|
||||
if not any(self.data[key]): continue
|
||||
o += self.fs.format(**dict(list(zip(
|
||||
o += self.fs.format(**dict(zip(
|
||||
('w','u','p','c'),
|
||||
[key+':'] + [a.fmt(color=True,suf=' '+g.dcoin) for a in self.data[key]]
|
||||
))))
|
||||
)))
|
||||
|
||||
for key,vals in list(self.data.items()):
|
||||
if key == 'TOTAL': continue
|
||||
|
|
|
|||
10
mmgen/tx.py
10
mmgen/tx.py
|
|
@ -368,7 +368,7 @@ Selected non-{pnm} inputs: {{}}""".strip().format(pnm=g.proj_name,pnl=g.proj_nam
|
|||
i = [{'txid':e.txid,'vout':e.vout} for e in self.inputs]
|
||||
if self.inputs[0].sequence:
|
||||
i[0]['sequence'] = self.inputs[0].sequence
|
||||
o = dict([(e.addr,e.amt) for e in self.outputs])
|
||||
o = {e.addr:e.amt for e in self.outputs}
|
||||
self.hex = HexBytes(g.rpch.createrawtransaction(i,o))
|
||||
self.update_txid()
|
||||
|
||||
|
|
@ -548,7 +548,7 @@ Selected non-{pnm} inputs: {{}}""".strip().format(pnm=g.proj_name,pnl=g.proj_nam
|
|||
# relative fee is N+<first letter of unit name>
|
||||
def process_fee_spec(self,tx_fee,tx_size,on_fail='throw'):
|
||||
import re
|
||||
units = dict((u[0],u) for u in g.proto.coin_amt.units)
|
||||
units = {u[0]:u for u in g.proto.coin_amt.units}
|
||||
pat = r'([1-9][0-9]*)({})'.format('|'.join(units.keys()))
|
||||
if g.proto.coin_amt(tx_fee,on_fail='silent'):
|
||||
return g.proto.coin_amt(tx_fee)
|
||||
|
|
@ -608,7 +608,7 @@ Selected non-{pnm} inputs: {{}}""".strip().format(pnm=g.proj_name,pnl=g.proj_nam
|
|||
def copy_inputs_from_tw(self,tw_unspent_data):
|
||||
txi,self.inputs = self.MMGenTxInput,self.MMGenTxInputList()
|
||||
for d in tw_unspent_data:
|
||||
t = txi(**dict([(attr,getattr(d,attr)) for attr in d.__dict__ if attr in txi.__dict__]))
|
||||
t = txi(**{attr:getattr(d,attr) for attr in d.__dict__ if attr in txi.__dict__})
|
||||
if d.twmmid.type == 'mmgen': t.mmid = d.twmmid # twmmid -> mmid
|
||||
self.inputs.append(t)
|
||||
|
||||
|
|
@ -641,7 +641,7 @@ Selected non-{pnm} inputs: {{}}""".strip().format(pnm=g.proj_name,pnl=g.proj_nam
|
|||
self.inputs.check_coin_mismatch()
|
||||
self.outputs.check_coin_mismatch()
|
||||
def amt_to_str(d):
|
||||
return dict([(k,str(d[k]) if k == 'amt' else d[k]) for k in d])
|
||||
return {k: (str(d[k]) if k == 'amt' else d[k]) for k in d}
|
||||
coin_id = '' if g.coin == 'BTC' else g.coin + ('' if g.coin == g.dcoin else ':'+g.dcoin)
|
||||
lines = [
|
||||
'{}{} {} {} {} {}{}'.format(
|
||||
|
|
@ -696,7 +696,7 @@ Selected non-{pnm} inputs: {{}}""".strip().format(pnm=g.proj_name,pnl=g.proj_nam
|
|||
|
||||
sig_data = []
|
||||
for d in self.inputs:
|
||||
e = dict([(k,getattr(d,k)) for k in ('txid','vout','scriptPubKey','amt')])
|
||||
e = {k:getattr(d,k) for k in ('txid','vout','scriptPubKey','amt')}
|
||||
e['amount'] = e['amt']
|
||||
del e['amt']
|
||||
if d.mmid and d.mmid.mmtype == 'S':
|
||||
|
|
|
|||
|
|
@ -846,7 +846,7 @@ def get_daemon_cfg_options(cfg_keys):
|
|||
try:
|
||||
lines = get_lines_from_file(cfg_file,'',silent=bool(opt.quiet))
|
||||
kv_pairs = [l.split('=') for l in lines]
|
||||
cfg = dict([(k,v) for k,v in kv_pairs if k in cfg_keys])
|
||||
cfg = {k:v for k,v in kv_pairs if k in cfg_keys}
|
||||
except:
|
||||
vmsg("Warning: '{}' does not exist or is unreadable".format(cfg_file))
|
||||
cfg = {}
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@ def compile_code(code):
|
|||
msg(err)
|
||||
if opt.stdout:
|
||||
o = out.split('\n')
|
||||
return dict((k,o[i+2]) for k in ('SafeMath','Owned','Token') for i in range(len(o)) if k in o[i])
|
||||
return {k:o[i+2] for k in ('SafeMath','Owned','Token') for i in range(len(o)) if k in o[i]}
|
||||
else:
|
||||
vmsg(out)
|
||||
|
||||
|
|
|
|||
|
|
@ -364,7 +364,7 @@ def do_between():
|
|||
sys.stderr.write('\n')
|
||||
|
||||
def list_tmpdirs():
|
||||
return dict(((k,cfgs[k]['tmpdir']) for k in cfgs))
|
||||
return {k:cfgs[k]['tmpdir'] for k in cfgs}
|
||||
|
||||
def clean(usr_dirs=None):
|
||||
if opt.skip_deps: return
|
||||
|
|
|
|||
|
|
@ -171,9 +171,10 @@ class TestSuiteRef3Seed(TestSuiteBase,TestSuiteShared):
|
|||
for k,j in self.cmd_group:
|
||||
for n in (1,2,3): # 128,192,256 bits
|
||||
setattr(self,'{}_{}'.format(k,n),getattr(self,k))
|
||||
for n in self.tmpdir_nums:
|
||||
cfgs[str(n)]['addr_idx_list'] = self.addr_idx_list_in
|
||||
cfgs[str(n)]['pass_idx_list'] = self.pass_idx_list_in
|
||||
if cfgs:
|
||||
for n in self.tmpdir_nums:
|
||||
cfgs[str(n)]['addr_idx_list'] = self.addr_idx_list_in
|
||||
cfgs[str(n)]['pass_idx_list'] = self.pass_idx_list_in
|
||||
return TestSuiteBase.__init__(self,trunner,cfgs,spawn)
|
||||
|
||||
def ref_wallet_chk(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue