From f7b59022a47e14e4008e49981844d98964e71eee Mon Sep 17 00:00:00 2001 From: MMGen Date: Wed, 20 Mar 2019 17:10:46 +0000 Subject: [PATCH] silent -> quiet file opens + minor fixes --- mmgen/altcoins/eth/tw.py | 4 ++-- mmgen/crypto.py | 2 +- mmgen/main_txsend.py | 2 +- mmgen/seed.py | 4 ++-- mmgen/tool.py | 14 +++++++------- mmgen/tx.py | 10 +++++----- mmgen/util.py | 24 ++++++++++++------------ scripts/tx-v2-to-v3.py | 2 +- test/common.py | 4 ++-- test/test_py_d/ts_main.py | 6 +++--- test/test_py_d/ts_regtest.py | 2 +- 11 files changed, 37 insertions(+), 37 deletions(-) diff --git a/mmgen/altcoins/eth/tw.py b/mmgen/altcoins/eth/tw.py index 863bd443..bfd7649c 100755 --- a/mmgen/altcoins/eth/tw.py +++ b/mmgen/altcoins/eth/tw.py @@ -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 diff --git a/mmgen/crypto.py b/mmgen/crypto.py index b0c33512..90a1153b 100755 --- a/mmgen/crypto.py +++ b/mmgen/crypto.py @@ -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): diff --git a/mmgen/main_txsend.py b/mmgen/main_txsend.py index f4a4e1b0..cb7cbd00 100755 --- a/mmgen/main_txsend.py +++ b/mmgen/main_txsend.py @@ -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(): diff --git a/mmgen/seed.py b/mmgen/seed.py index da413905..3ce39911 100755 --- a/mmgen/seed.py +++ b/mmgen/seed.py @@ -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 diff --git a/mmgen/tool.py b/mmgen/tool.py index 405c2a28..eb52e10d 100755 --- a/mmgen/tool.py +++ b/mmgen/tool.py @@ -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): diff --git a/mmgen/tx.py b/mmgen/tx.py index e4bb0301..35211f2f 100755 --- a/mmgen/tx.py +++ b/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' diff --git a/mmgen/util.py b/mmgen/util.py index f90fda91..e349c544 100755 --- a/mmgen/util.py +++ b/mmgen/util.py @@ -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)] diff --git a/scripts/tx-v2-to-v3.py b/scripts/tx-v2-to-v3.py index c8f819e7..471fad4d 100755 --- a/scripts/tx-v2-to-v3.py +++ b/scripts/tx-v2-to-v3.py @@ -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) diff --git a/test/common.py b/test/common.py index 1eb8ab90..c92bb45f 100755 --- a/test/common.py +++ b/test/common.py @@ -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) diff --git a/test/test_py_d/ts_main.py b/test/test_py_d/ts_main.py index f101b924..ec22f3f5 100755 --- a/test/test_py_d/ts_main.py +++ b/test/test_py_d/ts_main.py @@ -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 diff --git a/test/test_py_d/ts_regtest.py b/test/test_py_d/ts_regtest.py index c97129ed..aace280f 100755 --- a/test/test_py_d/ts_regtest.py +++ b/test/test_py_d/ts_regtest.py @@ -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):