2025-09-26 20:28:47 +02:00
|
|
|
import tempfile
|
2025-09-27 13:08:30 +02:00
|
|
|
import argparse
|
2025-09-26 20:28:47 +02:00
|
|
|
|
2025-09-27 13:08:30 +02:00
|
|
|
from tempbox_functions import execute_as_subprocess
|
2025-09-26 20:28:47 +02:00
|
|
|
|
|
|
|
|
|
2025-09-27 13:08:30 +02:00
|
|
|
# Argument parsing
|
|
|
|
|
parser = argparse.ArgumentParser(
|
|
|
|
|
prog="Tempbox",
|
|
|
|
|
description="This program accepts an\
|
|
|
|
|
command whicht it executes in an temporary directory in /temp.",
|
|
|
|
|
# epilog="helloooooooo",
|
|
|
|
|
)
|
2025-09-26 20:28:47 +02:00
|
|
|
|
2025-09-27 13:08:30 +02:00
|
|
|
parser.add_argument(
|
|
|
|
|
"-v",
|
|
|
|
|
"--verbose",
|
|
|
|
|
action="store_true",
|
|
|
|
|
help="Activates or deactivates verbose output. (default=%(default)s)",
|
|
|
|
|
)
|
2025-09-26 20:28:47 +02:00
|
|
|
|
2025-09-27 13:08:30 +02:00
|
|
|
parser.add_argument(
|
|
|
|
|
"-c",
|
|
|
|
|
"--command",
|
|
|
|
|
help="Takes the string right after the flag to execute it.",
|
|
|
|
|
)
|
2025-09-26 20:28:47 +02:00
|
|
|
|
2025-09-27 13:08:30 +02:00
|
|
|
args = parser.parse_args()
|
|
|
|
|
|
|
|
|
|
if args.command is not None:
|
|
|
|
|
with tempfile.TemporaryDirectory() as temp_dir:
|
|
|
|
|
if args.command is not None:
|
|
|
|
|
execute_as_subprocess(
|
|
|
|
|
args.command,
|
|
|
|
|
base_path=temp_dir,
|
|
|
|
|
verbosity=args.verbose,
|
|
|
|
|
)
|
|
|
|
|
else:
|
|
|
|
|
parser.print_help()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Creates a temporary directory and executes the command in it.
|