From e0dc00cddd9c65fae4dfc39d183b78aec4085ddc Mon Sep 17 00:00:00 2001 From: Jude Nelson Date: Wed, 5 Apr 2017 17:49:07 -0400 Subject: [PATCH] only encode secrets if we need to --- blockstack_client/cli.py | 43 +++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/blockstack_client/cli.py b/blockstack_client/cli.py index 62346ad1b..375bd8ec6 100644 --- a/blockstack_client/cli.py +++ b/blockstack_client/cli.py @@ -385,14 +385,16 @@ def run_cli(argv=None, config_path=CONFIG_PATH): new_argv = arg_info['new_argv'] - # set secrets... - for secvar, secval in arg_info['secrets'].items(): - set_secret(secvar, secval) + if len(arg_info['secrets']) > 0: + # set secrets... + for secvar, secval in arg_info['secrets'].items(): + set_secret(secvar, secval) - secbuf = serialize_secrets() - fd = write_secrets(secbuf) + secbuf = serialize_secrets() + fd = write_secrets(secbuf) + + new_argv += ['--secrets', str(fd)] - new_argv += ['--secrets', str(fd)] if cli_debug: print("Re-exec as `{}`".format( " ".join(new_argv)), file=sys.stderr) @@ -401,23 +403,24 @@ def run_cli(argv=None, config_path=CONFIG_PATH): # load secrets if arg_info['args'].has_key('secret_fd'): fd_str = arg_info['args']['secret_fd'] - try: - fd = int(fd_str) - except: - print('Invalid secret fd {}'.format(fd_str), file=sys.stderr) - sys.exit(1) + if fd_str: + try: + fd = int(fd_str) + except: + print('Invalid secret fd {}'.format(fd_str), file=sys.stderr) + sys.exit(1) - log.debug("Load secrets from {}".format(fd)) + log.debug("Load secrets from {}".format(fd)) - try: - os.lseek(fd, 0, os.SEEK_SET) - secbuf = os.read(fd, 65536) - os.close(fd) + try: + os.lseek(fd, 0, os.SEEK_SET) + secbuf = os.read(fd, 65536) + os.close(fd) - load_secrets(secbuf) - except Exception as e: - traceback.print_exc() - sys.exit(1) + load_secrets(secbuf) + except Exception as e: + traceback.print_exc() + sys.exit(1) # do one-time opt-in request uuid_path = client_uuid_path(config_dir=os.path.dirname(config_path))