silent -> quiet file opens + minor fixes

This commit is contained in:
The MMGen Project 2019-03-20 17:10:46 +00:00
commit f7b59022a4
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
11 changed files with 37 additions and 37 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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