Add columns selector to list cli
This commit is contained in:
parent
5302b1f4f5
commit
273a10b169
@ -22,6 +22,7 @@ class OutputCol(enum.Enum):
|
|||||||
hash = 1
|
hash = 1
|
||||||
statustext = 2
|
statustext = 2
|
||||||
statuscode = 3
|
statuscode = 3
|
||||||
|
signedtx = 4
|
||||||
|
|
||||||
|
|
||||||
class Outputter:
|
class Outputter:
|
||||||
@ -40,6 +41,13 @@ class Outputter:
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
all_cols = [
|
all_cols = [
|
||||||
|
OutputCol.chainspec,
|
||||||
|
OutputCol.hash,
|
||||||
|
OutputCol.signedtx,
|
||||||
|
OutputCol.statustext,
|
||||||
|
OutputCol.statuscode,
|
||||||
|
]
|
||||||
|
default_cols = [
|
||||||
OutputCol.chainspec,
|
OutputCol.chainspec,
|
||||||
OutputCol.hash,
|
OutputCol.hash,
|
||||||
OutputCol.statustext,
|
OutputCol.statustext,
|
||||||
@ -64,7 +72,7 @@ class Outputter:
|
|||||||
|
|
||||||
debug_col_name = []
|
debug_col_name = []
|
||||||
if cols == None:
|
if cols == None:
|
||||||
self.cols = Outputter.all_cols
|
self.cols = Outputter.default_cols
|
||||||
else:
|
else:
|
||||||
self.cols = []
|
self.cols = []
|
||||||
for col in cols:
|
for col in cols:
|
||||||
@ -125,12 +133,13 @@ class Outputter:
|
|||||||
status = tx['status']
|
status = tx['status']
|
||||||
if self.decode_status:
|
if self.decode_status:
|
||||||
status = status_str(tx['status_code'], bits_only=True)
|
status = status_str(tx['status_code'], bits_only=True)
|
||||||
#self.writer.write('{}\t{}\t{}\t{}\n'.format(self.chain_spec_str, add_0x(tx_hash), status, tx['status_code']))
|
|
||||||
vals = [
|
vals = [
|
||||||
self.chain_spec_str,
|
self.chain_spec_str,
|
||||||
add_0x(tx_hash),
|
add_0x(tx_hash),
|
||||||
status,
|
status,
|
||||||
str(tx['status_code']),
|
str(tx['status_code']),
|
||||||
|
add_0x(tx['signed_tx']),
|
||||||
]
|
]
|
||||||
|
|
||||||
i = 0
|
i = 0
|
||||||
@ -142,4 +151,3 @@ class Outputter:
|
|||||||
self.writer.write('\n')
|
self.writer.write('\n')
|
||||||
else:
|
else:
|
||||||
self.writer.write('\t')
|
self.writer.write('\t')
|
||||||
#self.writer.write('{}\t{}\t{}\t{}\n'.format()
|
|
||||||
|
@ -30,6 +30,7 @@ argparser.add_argument('--error', action='store_true', help='Only show transacti
|
|||||||
argparser.add_argument('--pending', action='store_true', help='Omit finalized transactions')
|
argparser.add_argument('--pending', action='store_true', help='Omit finalized transactions')
|
||||||
argparser.add_argument('--status-mask', type=int, dest='status_mask', help='Manually specify status bitmask value to match (overrides --error and --pending)')
|
argparser.add_argument('--status-mask', type=int, dest='status_mask', help='Manually specify status bitmask value to match (overrides --error and --pending)')
|
||||||
argparser.add_argument('--summary', action='store_true', help='output summary for each status category')
|
argparser.add_argument('--summary', action='store_true', help='output summary for each status category')
|
||||||
|
argparser.add_argument('-o', '--column', dest='column', action='append', type=str, help='add a column to display')
|
||||||
argparser.add_positional('address', type=str, help='Ethereum address of recipient')
|
argparser.add_positional('address', type=str, help='Ethereum address of recipient')
|
||||||
args = argparser.parse_args()
|
args = argparser.parse_args()
|
||||||
extra_args = {
|
extra_args = {
|
||||||
@ -40,6 +41,7 @@ extra_args = {
|
|||||||
'error': None,
|
'error': None,
|
||||||
'pending': None,
|
'pending': None,
|
||||||
'status_mask': None,
|
'status_mask': None,
|
||||||
|
'column': None,
|
||||||
'summary': None,
|
'summary': None,
|
||||||
}
|
}
|
||||||
config = chainlib.cli.Config.from_args(args, arg_flags, extra_args=extra_args, base_config_dir=config_dir)
|
config = chainlib.cli.Config.from_args(args, arg_flags, extra_args=extra_args, base_config_dir=config_dir)
|
||||||
@ -67,6 +69,8 @@ if config.get('_BACKEND') == 'sql':
|
|||||||
else:
|
else:
|
||||||
raise NotImplementedError('backend {} not implemented'.format(config.get('_BACKEND')))
|
raise NotImplementedError('backend {} not implemented'.format(config.get('_BACKEND')))
|
||||||
|
|
||||||
|
output_cols = config.get('_COLUMN')
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
since = config.get('_START', None)
|
since = config.get('_START', None)
|
||||||
@ -76,7 +80,7 @@ def main():
|
|||||||
if until != None:
|
if until != None:
|
||||||
until = add_0x(until)
|
until = add_0x(until)
|
||||||
txs = tx_lister(chain_spec, config.get('_ADDRESS'), since=since, until=until, status=status_mask, not_status=not_status_mask)
|
txs = tx_lister(chain_spec, config.get('_ADDRESS'), since=since, until=until, status=status_mask, not_status=not_status_mask)
|
||||||
outputter = Outputter(chain_spec, sys.stdout, tx_getter, session_method=session_method, decode_status=config.true('_RAW'))
|
outputter = Outputter(chain_spec, sys.stdout, tx_getter, session_method=session_method, decode_status=config.true('_RAW'), cols=output_cols)
|
||||||
if config.get('_SUMMARY'):
|
if config.get('_SUMMARY'):
|
||||||
for k in txs.keys():
|
for k in txs.keys():
|
||||||
outputter.add(k)
|
outputter.add(k)
|
||||||
|
@ -5,4 +5,4 @@ alembic==1.4.2
|
|||||||
SQLAlchemy==1.3.20
|
SQLAlchemy==1.3.20
|
||||||
confini>=0.4.1a1,<0.5.0
|
confini>=0.4.1a1,<0.5.0
|
||||||
pyxdg~=0.27
|
pyxdg~=0.27
|
||||||
chainlib~=0.0.9a5
|
chainlib~=0.0.9a7
|
||||||
|
Loading…
Reference in New Issue
Block a user