Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions acquire/acquire.py
Original file line number Diff line number Diff line change
Expand Up @@ -2334,19 +2334,29 @@ class VolatileProfile:
}


def exit_success(default_args: list[str]) -> NoReturn:
def exit_success(args: argparse.Namespace) -> NoReturn:
default_args = args.config.get("arguments")
log.info("Acquire finished successful")
log.info("Arguments: %s", " ".join(sys.argv[1:]))
log.info("Default Arguments: %s", " ".join(default_args))
log.info("Exiting with status code 0 (SUCCESS)")

if args.wait_exit:
input("Press any key to exit...")

sys.exit(0)


def exit_failure(default_args: list[str]) -> NoReturn:
def exit_failure(args: argparse.Namespace) -> NoReturn:
default_args = args.config.get("arguments")
log.error("Acquire FAILED")
log.error("Arguments: %s", " ".join(sys.argv[1:]))
log.error("Default Arguments: %s", " ".join(default_args))
log.error("Exiting with status code 1 (FAILURE)")

if args.wait_exit:
input("Press any key to exit...")

sys.exit(1)


Expand Down Expand Up @@ -2494,9 +2504,9 @@ def main() -> None:
log.exception("")

if acquire_successful:
exit_success(args.config.get("arguments"))
exit_success(args)
else:
exit_failure(args.config.get("arguments"))
exit_failure(args)


def load_child(target: Target, child_path: Path) -> None:
Expand Down
2 changes: 2 additions & 0 deletions acquire/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,8 @@ def create_argument_parser(profiles: dict, volatile: dict, modules: dict) -> arg
parser.add_argument("-K", "--keychain-file", type=Path, help="keychain file in CSV format")
parser.add_argument("-Kv", "--keychain-value", help="passphrase, recovery key or key file path value")

parser.add_argument("--wait-exit", help="wait on exit, needs to press a key before closing", action="store_true")

for module_cls in modules.values():
for args, kwargs in module_cls.__cli_args__:
parser.add_argument(*args, **kwargs)
Expand Down