Browse Source

py3port: use dictionary comprehensions where applicable

MMGen 6 years ago
parent
commit
634fb2e444
8 changed files with 19 additions and 18 deletions
  1. 2 2
      mmgen/altcoins/eth/tx.py
  2. 1 1
      mmgen/tool.py
  3. 4 4
      mmgen/tw.py
  4. 5 5
      mmgen/tx.py
  5. 1 1
      mmgen/util.py
  6. 1 1
      scripts/create-token.py
  7. 1 1
      test/test.py
  8. 4 3
      test/test_py_d/ts_ref_3seed.py

+ 2 - 2
mmgen/altcoins/eth/tx.py

@@ -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

+ 1 - 1
mmgen/tool.py

@@ -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
 

+ 4 - 4
mmgen/tw.py

@@ -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

+ 5 - 5
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':

+ 1 - 1
mmgen/util.py

@@ -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 = {}

+ 1 - 1
scripts/create-token.py

@@ -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)
 

+ 1 - 1
test/test.py

@@ -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

+ 4 - 3
test/test_py_d/ts_ref_3seed.py

@@ -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):