From 5d5c1835ddde3c3731e0a6bb9fb2ba5fa12ed7b0 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Thu, 3 Feb 2022 20:40:41 +0000 Subject: [PATCH] tx.py,txfile.py: minor cleanups --- mmgen/tx.py | 18 ++++-------------- mmgen/txfile.py | 10 +++++----- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/mmgen/tx.py b/mmgen/tx.py index ef6e4ad1..8d499fbd 100755 --- a/mmgen/tx.py +++ b/mmgen/tx.py @@ -285,26 +285,16 @@ class MMGenTxInput(MMGenTxIO): class MMGenTxOutput(MMGenTxIO): is_chg = ListItemAttr(bool,typeconv=False) -class MMGenTxIOList(MMGenObject): +class MMGenTxIOList(list,MMGenObject): def __init__(self,parent,data=None): self.parent = parent if data: assert isinstance(data,list), 'MMGenTxIOList_check1' - self.data = data + data = data else: - self.data = list() - - def __getitem__(self,val): return self.data.__getitem__(val) - def __setitem__(self,key,val): return self.data.__setitem__(key,val) - def __delitem__(self,val): return self.data.__delitem__(val) - def __contains__(self,val): return self.data.__contains__(val) - def __iter__(self): return self.data.__iter__() - def __len__(self): return self.data.__len__() - def __add__(self,val): return self.data.__add__(val) - def __eq__(self,val): return self.data.__eq__(val) - def append(self,val): return self.data.append(val) - def sort(self,*args,**kwargs): return self.data.sort(*args,**kwargs) + data = list() + list.__init__(self,data) class MMGenTxInputList(MMGenTxIOList): diff --git a/mmgen/txfile.py b/mmgen/txfile.py index 5782f5fd..7220caf7 100755 --- a/mmgen/txfile.py +++ b/mmgen/txfile.py @@ -49,11 +49,11 @@ class MMGenTxFile: assert len(d), f'no {desc}!' for e in d: e['amt'] = tx.proto.coin_amt(e['amt']) - io,io_list = ( - (MMGenTxOutput,MMGenTxOutputList), - (MMGenTxInput,MMGenTxInputList) - )[desc=='inputs'] - return io_list(tx,[io(tx.proto,**e) for e in d]) + io,io_list = { + 'inputs': (MMGenTxInput,MMGenTxInputList), + 'outputs': (MMGenTxOutput,MMGenTxOutputList), + }[desc] + return io_list( parent=tx, data=[io(tx.proto,**e) for e in d] ) from .fileutil import get_data_from_file tx_data = get_data_from_file(infile,tx.desc+' data',quiet=quiet_open)