1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/usr/bin/env python3
- import os
- from mmgen.cfg import Config
- from mmgen.util import msg
- opts_data = {
- 'sets': [('print_checksum', True, 'quiet', True)],
- 'text': {
- 'desc': 'Opts test',
- 'usage':'[args] [opts]',
- 'options': """
- -h, --help Print this help message
- --, --longhelp Print help message for long (global) options
- -i, --in-fmt= f Input is from wallet format 'f'
- -d, --outdir= d Use outdir 'd'
- -C, --print-checksum Print a checksum
- -E, --fee-estimate-mode=M Specify the network fee estimate mode.
- -F, --no-foobleize Do not foobleize the output, even on user request
- -H, --hidden-incog-input-params=f,o Read hidden incognito data from file
- 'f' at offset 'o' (comma-separated)
- -k, --keep-label Reuse label of input wallet for output wallet
- -l, --seed-len= l Specify wallet seed length of 'l' bits.
- -L, --label= l Specify a label 'l' for output wallet
- -m, --minconf= n Minimum number of confirmations required to spend
- outputs (default: 1)
- -o, --show-opts= L List of cfg opts to display
- -p, --hash-preset= p Use the scrypt hash parameters defined by preset 'p'
- -P, --passwd-file= f Get wallet passphrase from file 'f'
- -q, --quiet Be quieter
- -t, --min-temp= t Minimum temperature (in degrees Celsius)
- -T, --max-temp= t Maximum temperature (in degrees Celsius)
- -x, --point= P Point in Euclidean space
- -X, --cached-balances Use cached balances (Ethereum only)
- -v, --verbose Be more verbose
- sample help_note: {kgs}
- sample help_note: {coin_id}
- """,
- 'notes': """
- NOTES FOR THIS COMMAND
- sample note: {nn}
- """
- },
- 'code': {
- 'options': lambda cfg, help_notes, s: s.format(
- kgs = help_notes('keygen_backends'),
- coin_id = help_notes('coin_id'),
- ),
- 'notes': lambda s: s.format(nn='a note'),
- }
- }
- cfg = Config(opts_data=opts_data, need_proto=os.getenv('TEST_MISC_OPTS_NEEDS_PROTO'))
- if cfg.show_opts:
- opts = cfg.show_opts.split(',')
- col1_w = max(len(s) for s in opts) + 5
- for opt in opts:
- msg('{:{w}} {}'.format(f'cfg.{opt}:', getattr(cfg, opt), w=col1_w))
- if cfg._proto:
- coin, *rem = opt.split('_')
- network = rem[0] if rem[0] in cfg._proto.network_names else None
- opt_name = '_'.join(rem[bool(network):])
- msg('{:{w}} {}'.format(f'proto.{opt_name}:', getattr(cfg._proto, opt_name), w=col1_w))
- msg('')
- for n, arg in enumerate(cfg._args, 1):
- msg(f'arg{n}: {arg}')
|