silent -> quiet file opens + minor fixes
This commit is contained in:
parent
785582e30d
commit
f7b59022a4
11 changed files with 37 additions and 37 deletions
|
|
@ -39,7 +39,7 @@ class EthereumTrackingWallet(TrackingWallet):
|
|||
TrackingWallet.__init__(self,mode=mode)
|
||||
check_or_create_dir(self.data_dir)
|
||||
try:
|
||||
self.orig_data = get_data_from_file(self.tw_file,silent=True)
|
||||
self.orig_data = get_data_from_file(self.tw_file,quiet=True)
|
||||
self.data = json.loads(self.orig_data)
|
||||
except:
|
||||
try: os.stat(self.tw_file)
|
||||
|
|
@ -93,7 +93,7 @@ class EthereumTrackingWallet(TrackingWallet):
|
|||
def write(self): # use 'check_data' to check wallet hasn't been altered by another program
|
||||
write_data_to_file( self.tw_file,
|
||||
json.dumps(self.data),'Ethereum tracking wallet data',
|
||||
ask_overwrite=False,ignore_opt_outdir=True,silent=True,
|
||||
ask_overwrite=False,ignore_opt_outdir=True,quiet=True,
|
||||
check_data=True,cmp_data=self.orig_data)
|
||||
|
||||
@write_mode
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@ def _get_random_data_from_user(uchars):
|
|||
prompt = 'You may begin typing. {} symbols left: '
|
||||
|
||||
import time
|
||||
from mmgen.term import get_char_raw,kb_hold_protect
|
||||
from mmgen.term import get_char_raw
|
||||
key_data,time_data = bytes(),[]
|
||||
|
||||
for i in range(uchars):
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ if not opt.status: do_license_msg()
|
|||
|
||||
from mmgen.tx import *
|
||||
|
||||
tx = MMGenTX(infile,silent_open=True) # sig check performed here
|
||||
tx = MMGenTX(infile,quiet_open=True) # sig check performed here
|
||||
vmsg("Signed transaction file '{}' is valid".format(infile))
|
||||
|
||||
if not tx.marked_signed():
|
||||
|
|
|
|||
|
|
@ -311,7 +311,7 @@ an empty passphrase, just hit ENTER twice.
|
|||
)
|
||||
if opt.passwd_file:
|
||||
w = pwfile_reuse_warning()
|
||||
pw = ' '.join(get_words_from_file(opt.passwd_file,desc,silent=w))
|
||||
pw = ' '.join(get_words_from_file(opt.passwd_file,desc,quiet=w))
|
||||
elif opt.echo_passphrase:
|
||||
pw = ' '.join(get_words_from_user('Enter {}: '.format(desc)))
|
||||
else:
|
||||
|
|
@ -337,7 +337,7 @@ an empty passphrase, just hit ENTER twice.
|
|||
)
|
||||
if opt.passwd_file:
|
||||
w = pwfile_reuse_warning()
|
||||
ret = ' '.join(get_words_from_file(opt.passwd_file,desc,silent=w))
|
||||
ret = ' '.join(get_words_from_file(opt.passwd_file,desc,quiet=w))
|
||||
else:
|
||||
ret = ' '.join(get_words_from_user('Enter {}: '.format(desc)))
|
||||
self.ssdata.passwd = ret
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ def _usage(cmd=None,exit_val=1):
|
|||
' Same as above, but get additional entropy from user:\n'
|
||||
' $ mmgen-tool mn_rand128\n\n'
|
||||
' Convert a string to base 58:\n'
|
||||
' $ mmgen-tool strtob58 "foobarbaz" pad=20\n\n'
|
||||
' $ mmgen-tool bytestob58 /etc/timezone pad=20\n\n'
|
||||
' Reverse a hex string:\n'
|
||||
' $ mmgen-tool hexreverse "deadbeefcafe"\n\n'
|
||||
' Same as above, but use a pipe:\n'
|
||||
|
|
@ -254,7 +254,7 @@ class MMGenToolCmdUtil(MMGenToolCmdBase):
|
|||
|
||||
def hexlify(self,infile:str):
|
||||
"convert bytes in file to hexadecimal (use '-' for stdin)"
|
||||
data = get_data_from_file(infile,dash=True,silent=True,binary=True)
|
||||
data = get_data_from_file(infile,dash=True,quiet=True,binary=True)
|
||||
return data.hex()
|
||||
|
||||
def unhexlify(self,hexstr:'sstr'):
|
||||
|
|
@ -263,7 +263,7 @@ class MMGenToolCmdUtil(MMGenToolCmdBase):
|
|||
|
||||
def hexdump(self,infile:str,cols=8,line_nums=True):
|
||||
"create hexdump of data from file (use '-' for stdin)"
|
||||
data = get_data_from_file(infile,dash=True,silent=True,binary=True)
|
||||
data = get_data_from_file(infile,dash=True,quiet=True,binary=True)
|
||||
return pretty_hexdump(data,cols=cols,line_nums=line_nums).rstrip()
|
||||
|
||||
def unhexdump(self,infile:str):
|
||||
|
|
@ -271,7 +271,7 @@ class MMGenToolCmdUtil(MMGenToolCmdBase):
|
|||
if g.platform == 'win':
|
||||
import msvcrt
|
||||
msvcrt.setmode(sys.stdout.fileno(),os.O_BINARY)
|
||||
hexdata = get_data_from_file(infile,dash=True,silent=True)
|
||||
hexdata = get_data_from_file(infile,dash=True,quiet=True)
|
||||
return decode_pretty_hexdump(hexdata)
|
||||
|
||||
def hash160(self,hexstr:'sstr'):
|
||||
|
|
@ -289,7 +289,7 @@ class MMGenToolCmdUtil(MMGenToolCmdBase):
|
|||
def id6(self,infile:str):
|
||||
"generate 6-character MMGen ID for a file (use '-' for stdin)"
|
||||
return make_chksum_6(
|
||||
get_data_from_file(infile,dash=True,silent=True,binary=True))
|
||||
get_data_from_file(infile,dash=True,quiet=True,binary=True))
|
||||
|
||||
def str2id6(self,string:'sstr'): # retain ignoring of space for backwards compat
|
||||
"generate 6-character MMGen ID for a string, ignoring spaces"
|
||||
|
|
@ -298,7 +298,7 @@ class MMGenToolCmdUtil(MMGenToolCmdBase):
|
|||
def id8(self,infile:str):
|
||||
"generate 8-character MMGen ID for a file (use '-' for stdin)"
|
||||
return make_chksum_8(
|
||||
get_data_from_file(infile,dash=True,silent=True,binary=True))
|
||||
get_data_from_file(infile,dash=True,quiet=True,binary=True))
|
||||
|
||||
def randb58(self,nbytes=32,pad=True):
|
||||
"generate random data (default: 32 bytes) and convert it to base 58"
|
||||
|
|
@ -306,7 +306,7 @@ class MMGenToolCmdUtil(MMGenToolCmdBase):
|
|||
|
||||
def bytestob58(self,infile:str,pad=0):
|
||||
"convert bytes to base 58 (supply data via STDIN)"
|
||||
data = get_data_from_file(infile,dash=True,silent=True,binary=True)
|
||||
data = get_data_from_file(infile,dash=True,quiet=True,binary=True)
|
||||
return baseconv.fromhex(data.hex(),'b58',pad=pad,tostr=True)
|
||||
|
||||
def b58tobytes(self,b58num:'sstr',pad=0):
|
||||
|
|
|
|||
10
mmgen/tx.py
10
mmgen/tx.py
|
|
@ -296,7 +296,7 @@ inputs must be supplied to '{pnl}-txsign' in a file with the '--keys-from-file'
|
|||
option.
|
||||
Selected non-{pnm} inputs: {{}}""".strip().format(pnm=g.proj_name,pnl=g.proj_name.lower())
|
||||
|
||||
def __init__(self,filename=None,metadata_only=False,caller=None,silent_open=False):
|
||||
def __init__(self,filename=None,metadata_only=False,caller=None,quiet_open=False):
|
||||
self.inputs = MMGenTxInputList()
|
||||
self.outputs = MMGenTxOutputList()
|
||||
self.send_amt = g.proto.coin_amt('0') # total amt minus change
|
||||
|
|
@ -317,7 +317,7 @@ Selected non-{pnm} inputs: {{}}""".strip().format(pnm=g.proj_name,pnl=g.proj_nam
|
|||
self.locktime = None
|
||||
|
||||
if filename:
|
||||
self.parse_tx_file(filename,metadata_only=metadata_only,silent_open=silent_open)
|
||||
self.parse_tx_file(filename,metadata_only=metadata_only,quiet_open=quiet_open)
|
||||
if metadata_only: return
|
||||
self.check_pubkey_scripts()
|
||||
self.check_sigs() # marks the tx as signed
|
||||
|
|
@ -1133,14 +1133,14 @@ Selected non-{pnm} inputs: {{}}""".strip().format(pnm=g.proj_name,pnl=g.proj_nam
|
|||
def check_txfile_hex_data(self):
|
||||
self.hex = HexStr(self.hex,on_fail='raise')
|
||||
|
||||
def parse_tx_file(self,infile,metadata_only=False,silent_open=False):
|
||||
def parse_tx_file(self,infile,metadata_only=False,quiet_open=False):
|
||||
|
||||
def eval_io_data(raw_data,desc):
|
||||
from ast import literal_eval
|
||||
try:
|
||||
d = literal_eval(raw_data)
|
||||
except:
|
||||
if desc == 'inputs' and not silent_open:
|
||||
if desc == 'inputs' and not quiet_open:
|
||||
ymsg('Warning: transaction data appears to be in old format')
|
||||
import re
|
||||
d = literal_eval(re.sub(r"[A-Za-z]+?\(('.+?')\)",r'\1',raw_data))
|
||||
|
|
@ -1154,7 +1154,7 @@ Selected non-{pnm} inputs: {{}}""".strip().format(pnm=g.proj_name,pnl=g.proj_nam
|
|||
)[desc=='inputs']
|
||||
return io_list([io(**e) for e in d])
|
||||
|
||||
tx_data = get_data_from_file(infile,self.desc+' data',silent=silent_open)
|
||||
tx_data = get_data_from_file(infile,self.desc+' data',quiet=quiet_open)
|
||||
|
||||
try:
|
||||
desc = 'data'
|
||||
|
|
|
|||
|
|
@ -564,13 +564,13 @@ def write_data_to_file( outfile,data,desc='data',
|
|||
ask_overwrite=True,
|
||||
ask_tty=True,
|
||||
no_tty=False,
|
||||
silent=False,
|
||||
quiet=False,
|
||||
binary=False,
|
||||
ignore_opt_outdir=False,
|
||||
check_data=False,
|
||||
cmp_data=None):
|
||||
|
||||
if silent: ask_tty = ask_overwrite = False
|
||||
if quiet: ask_tty = ask_overwrite = False
|
||||
if opt.quiet: ask_overwrite = False
|
||||
|
||||
if ask_write_default_yes == False or ask_write_prompt:
|
||||
|
|
@ -641,7 +641,7 @@ def write_data_to_file( outfile,data,desc='data',
|
|||
die(2,"Failed to write {} to file '{}'".format(desc,outfile))
|
||||
f.close
|
||||
|
||||
if not (hush or silent):
|
||||
if not (hush or quiet):
|
||||
msg("{} written to file '{}'".format(capfirst(desc),outfile))
|
||||
|
||||
return True
|
||||
|
|
@ -659,8 +659,8 @@ def get_words_from_user(prompt):
|
|||
dmsg('Sanitized input: [{}]'.format(' '.join(words)))
|
||||
return words
|
||||
|
||||
def get_words_from_file(infile,desc,silent=False):
|
||||
if not silent:
|
||||
def get_words_from_file(infile,desc,quiet=False):
|
||||
if not quiet:
|
||||
qmsg("Getting {} from file '{}'".format(desc,infile))
|
||||
f = open_file_or_exit(infile, 'r')
|
||||
try: words = f.read().split() # split() also strips
|
||||
|
|
@ -675,8 +675,8 @@ def get_words(infile,desc,prompt):
|
|||
else:
|
||||
return get_words_from_user(prompt)
|
||||
|
||||
def mmgen_decrypt_file_maybe(fn,desc='',silent=False):
|
||||
d = get_data_from_file(fn,desc,binary=True,silent=silent)
|
||||
def mmgen_decrypt_file_maybe(fn,desc='',quiet=False,silent=False):
|
||||
d = get_data_from_file(fn,desc,binary=True,quiet=quiet,silent=silent)
|
||||
have_enc_ext = get_extension(fn) == g.mmenc_ext
|
||||
if have_enc_ext or not is_utf8(d):
|
||||
m = ('Attempting to decrypt','Decrypting')[have_enc_ext]
|
||||
|
|
@ -685,22 +685,22 @@ def mmgen_decrypt_file_maybe(fn,desc='',silent=False):
|
|||
d = mmgen_decrypt_retry(d,desc)
|
||||
return d
|
||||
|
||||
def get_lines_from_file(fn,desc='',trim_comments=False,silent=False):
|
||||
dec = mmgen_decrypt_file_maybe(fn,desc,silent=silent)
|
||||
def get_lines_from_file(fn,desc='',trim_comments=False,quiet=False,silent=False):
|
||||
dec = mmgen_decrypt_file_maybe(fn,desc,quiet=quiet,silent=silent)
|
||||
ret = dec.decode('utf8').splitlines() # DOS-safe
|
||||
if trim_comments: ret = remove_comments(ret)
|
||||
dmsg("Got {} lines from file '{}'".format(len(ret),fn))
|
||||
return ret
|
||||
|
||||
def get_data_from_user(desc='data',silent=False): # user input MUST be UTF-8
|
||||
def get_data_from_user(desc='data'): # user input MUST be UTF-8
|
||||
p = ('','Enter {}: '.format(desc))[g.stdin_tty]
|
||||
data = my_raw_input(p,echo=opt.echo_passphrase)
|
||||
dmsg('User input: [{}]'.format(data))
|
||||
return data
|
||||
|
||||
def get_data_from_file(infile,desc='data',dash=False,silent=False,binary=False):
|
||||
def get_data_from_file(infile,desc='data',dash=False,silent=False,binary=False,quiet=False):
|
||||
|
||||
if not opt.quiet and not silent and desc:
|
||||
if not opt.quiet and not silent and not quiet and desc:
|
||||
qmsg("Getting {} from file '{}'".format(desc,infile))
|
||||
|
||||
mode = ('r','rb')[bool(binary)]
|
||||
|
|
|
|||
|
|
@ -26,5 +26,5 @@ from mmgen.tx import *
|
|||
|
||||
if len(cmd_args) != 1: opts.usage()
|
||||
|
||||
tx = MMGenTX(cmd_args[0],silent_open=True)
|
||||
tx = MMGenTX(cmd_args[0],quiet_open=True)
|
||||
tx.write_to_file(ask_tty=False,ask_overwrite=not opt.quiet,ask_write=not opt.quiet)
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ def get_tmpfile(cfg,fn):
|
|||
def write_to_file(fn,data,binary=False):
|
||||
write_data_to_file( fn,
|
||||
data,
|
||||
silent = True,
|
||||
quiet = True,
|
||||
binary = binary,
|
||||
ignore_opt_outdir = True )
|
||||
|
||||
|
|
@ -95,7 +95,7 @@ def write_to_tmpfile(cfg,fn,data,binary=False):
|
|||
|
||||
def read_from_file(fn,binary=False):
|
||||
from mmgen.util import get_data_from_file
|
||||
return get_data_from_file(fn,silent=True,binary=binary)
|
||||
return get_data_from_file(fn,quiet=True,binary=binary)
|
||||
|
||||
def read_from_tmpfile(cfg,fn,binary=False):
|
||||
return read_from_file(os.path.join(cfg['tmpdir'],fn),binary=binary)
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ def make_brainwallet_file(fn):
|
|||
rand_pairs = [wl[getrandnum_range(1,200) % len(wl)] + rand_ws_seq() for i in range(nwords)]
|
||||
d = ''.join(rand_pairs).rstrip() + '\n'
|
||||
if opt.verbose: msg_r('Brainwallet password:\n{}'.format(cyan(d)))
|
||||
write_data_to_file(fn,d,'brainwallet password',silent=True,ignore_opt_outdir=True)
|
||||
write_data_to_file(fn,d,'brainwallet password',quiet=True,ignore_opt_outdir=True)
|
||||
|
||||
def verify_checksum_or_exit(checksum,chk):
|
||||
if checksum != chk:
|
||||
|
|
@ -243,7 +243,7 @@ class TestSuiteMain(TestSuiteBase,TestSuiteShared):
|
|||
|
||||
def _write_fake_data_to_file(self,d):
|
||||
unspent_data_file = joinpath(self.tmpdir,'unspent.json')
|
||||
write_data_to_file(unspent_data_file,d,'Unspent outputs',silent=True,ignore_opt_outdir=True)
|
||||
write_data_to_file(unspent_data_file,d,'Unspent outputs',quiet=True,ignore_opt_outdir=True)
|
||||
os.environ['MMGEN_BOGUS_WALLET_DATA'] = unspent_data_file
|
||||
bwd_msg = 'MMGEN_BOGUS_WALLET_DATA={}'.format(unspent_data_file)
|
||||
if opt.print_cmdline: msg(bwd_msg)
|
||||
|
|
@ -291,7 +291,7 @@ class TestSuiteMain(TestSuiteBase,TestSuiteShared):
|
|||
rand_coinaddr = AddrGenerator('p2pkh').to_addr(KeyGenerator('std').to_pubhex(privkey))
|
||||
of = joinpath(self.cfgs[non_mmgen_input]['tmpdir'],non_mmgen_fn)
|
||||
write_data_to_file(of, privkey.wif+'\n','compressed {} key'.format(g.proto.name),
|
||||
silent=True,ignore_opt_outdir=True)
|
||||
quiet=True,ignore_opt_outdir=True)
|
||||
out.append(self._create_fake_unspent_entry(rand_coinaddr,non_mmgen=True,segwit=False))
|
||||
|
||||
return out
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ class TestSuiteRegtest(TestSuiteBase,TestSuiteShared):
|
|||
else:
|
||||
if n % 2: a.set_comment(idx,'Test address {}'.format(n))
|
||||
a.format(enable_comments=True)
|
||||
write_data_to_file(outfile,a.fmt_data,silent=True,ignore_opt_outdir=True)
|
||||
write_data_to_file(outfile,a.fmt_data,quiet=True,ignore_opt_outdir=True)
|
||||
end_silence()
|
||||
|
||||
def setup(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue