def parse_args(argv: Optional[List[str]] = None) -> argparse.Namespace: """ :raises: ValueError """ output = ParserBuilder().add_pre_commit_arguments().parse_args(argv) if output.baseline: raise_exception_if_baseline_file_is_unstaged(output.baseline_filename) return output
def parser(): return ParserBuilder().add_console_use_arguments()
def parse_args(argument_string=''): # PluginOptions are added in pre-commit hook return ParserBuilder()\ .add_pre_commit_arguments()\ .parse_args(argument_string.split())
def parse_args(argv): return ParserBuilder().add_pre_commit_arguments()\ .parse_args(argv)
def parse_args(argv): return ParserBuilder()\ .add_console_use_arguments()\ .parse_args(argv)
def parser(): # NOTE: We perform the testing via ParserBuilder since that is responsible for initializing # the settings as expected. We use `add_pre_commit_arguments` so that we don't need to prefix # the arguments with `scan`. return ParserBuilder().add_pre_commit_arguments()
def parse_args(argument_string=''): # PluginOptions are added by default return ParserBuilder().parse_args(argument_string.split())
def parse_args(argv): # pragma: no cover (Mocked) return ParserBuilder()\ .add_pre_commit_arguments()\ .parse_args(argv)
def parser(): return ParserBuilder().add_pre_commit_arguments()
def main(argv=None): version_check() if len(sys.argv) == 1: # pragma: no cover sys.argv.append('-h') parserBuilder = ParserBuilder() args = parse_args(argv, parserBuilder) if args.verbose: # pragma: no cover log.set_debug_level(args.verbose) if args.action == 'scan': automaton = None word_list_hash = None if args.word_list_file: automaton, word_list_hash = build_automaton(args.word_list_file) # Plugins are *always* rescanned with fresh settings, because # we want to get the latest updates. plugins = initialize.from_parser_builder( args.plugins, exclude_lines_regex=args.exclude_lines, automaton=automaton, should_verify_secrets=not args.no_verify, plugin_filenames=args.plugin_filenames, ) if args.string: line = args.string if isinstance(args.string, bool): line = sys.stdin.read().splitlines()[0] _scan_string(line, plugins) else: baseline_dict = _perform_scan( args, plugins, automaton, word_list_hash, ) if args.import_filename: write_baseline_to_file( filename=args.import_filename[0], data=baseline_dict, ) else: print( baseline.format_baseline_for_output( baseline_dict, ), ) elif args.action == 'audit': if args.report: report.execute(args) report.validate_args(args, parserBuilder.subparser.choices['audit']) if not args.diff and not args.display_results: audit.audit_baseline(args.filename[0]) return 0 if args.display_results: audit.print_audit_results(args.filename[0]) return 0 if len(args.filename) != 2: print( 'Must specify two files to compare!', file=sys.stderr, ) return 1 try: audit.compare_baselines(args.filename[0], args.filename[1]) except audit.RedundantComparisonError: print( "No difference, because it's the same file!", file=sys.stderr, ) return 0
def parser(): return (ParserBuilder().add_plugin_options().add_baseline_options())
def _parse_console_use_args_with_correct_prog(argument_string=''): parser = ParserBuilder() # Rename from pytest.py to what it is when ran parser.parser.prog = 'detect-secrets' return parser.add_console_use_arguments()\ .parse_args(shlex.split(argument_string))
def parse_pre_commit_args_with_correct_prog(argument_string=''): parser = ParserBuilder() # Rename from pytest.py to what it is when ran parser.parser.prog = 'detect-secrets-hook' return parser.add_pre_commit_arguments()\ .parse_args(argument_string.split())