def cli(): # Parse CLI arguments args_parser = ArgumentParser("whispers", description=("Identify secrets and dangerous behaviours")) args_parser.add_argument("-v", "--version", action="version", version=f"whispers {__version__}") args_parser.add_argument("-c", "--config", default=None, help="config file") args_parser.add_argument("-o", "--output", help="output file (.yml)") args_parser.add_argument("src", nargs="?", help="source code file or directory") args = args_parser.parse_args() # Default response if not args.src: exit(args_parser.print_help()) # Clear output file if args.output: args.output = Path(args.output) args.output.write_text("") # Configure execution configure_log() if args.config: args.config = load_config(args.config, src=args.src) # Valar margulis for secret in run(args.src, config=args.config): format_stdout(secret, args.output)
def cli(arguments=None): # Parse CLI arguments args = parse_args(arguments) # Show information if args.info: exit(cli_info()) # Default response if not args.src: exit(cli_parser().print_help()) # Clear output file if args.output: args.output = Path(args.output) args.output.write_text("") # Configure execution configure_log() if args.config: args.config = load_config(args.config, src=args.src) # Valar margulis for secret in run(args): format_stdout(secret, args.output) # Clean up cleanup_log()
def cli(): # Parse CLI arguments args = parse_args() # Valar margulis for secret in run(args): format_stdout(secret, args.output) # Clean up cleanup_log()
def test_format_stdout(): secret = Secret("file", 123, "key", "value", "message", "severity") secret_str = json.dumps(secret._asdict()) assert format_stdout(secret) == secret_str