From ae1cb3601148180e1089ef4fdac614a180fdaf07 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Sun, 2 Feb 2025 01:16:31 +0100 Subject: [PATCH] _cli: remove argparse.FileType use This API always leaks a file handle. Signed-off-by: William Woodruff --- pip_audit/_cli.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pip_audit/_cli.py b/pip_audit/_cli.py index 70186ba4..0c6f9f11 100644 --- a/pip_audit/_cli.py +++ b/pip_audit/_cli.py @@ -209,7 +209,7 @@ def _parser() -> argparse.ArgumentParser: # pragma: no cover dep_source_args.add_argument( "-r", "--requirement", - type=argparse.FileType("r"), + type=Path, metavar="REQUIREMENT", action="append", dest="requirements", @@ -465,9 +465,12 @@ def audit() -> None: # pragma: no cover source: DependencySource if args.requirements is not None: - req_files: list[Path] = [Path(req.name) for req in args.requirements] + for req in args.requirements: + if not req.exists(): + _fatal(f"invalid requirements input: {req}") + source = RequirementSource( - req_files, + args.requirements, require_hashes=args.require_hashes, no_deps=args.no_deps, disable_pip=args.disable_pip,