added logging

This commit is contained in:
2025-09-27 17:31:58 +02:00
parent 518ca3d815
commit a54d8bdced
4 changed files with 33 additions and 2 deletions

View File

@@ -0,0 +1,47 @@
import os
import subprocess
from .tempbox_logger import logger
def create_folders(number_folders, base_path, verbosity=False):
"""creates an amount of folders and returning its path"""
if verbosity:
while number_folders > 0:
number_folders = number_folders - 1
folder_name = f"folder_{number_folders}"
full_path = os.path.join(base_path, folder_name)
os.mkdir(full_path)
print(f"'{full_path}' was created")
else:
while number_folders > 0:
number_folders = number_folders - 1
folder_name = f"folder_{number_folders}"
full_path = os.path.join(base_path, folder_name)
os.mkdir(full_path)
def execute_as_subprocess(command, base_path, verbosity=False):
"""executes the string given with the '-c, --command' flag."""
logger.debug("Entered execute_as_subprocess()")
logger.debug(f"Path:\t{base_path}\nCommand:\t{command}")
if verbosity:
logger.info("Running subprocess with terminal output.")
subprocess.run(command, cwd=base_path, shell=True)
else:
logger.info("Running with suppressed stdout and stderr")
subprocess.run(
command,
cwd=base_path,
shell=True,
stdout=subprocess.DEVNULL,
stderr=subprocess.STDOUT,
)
logger.debug("Exited execute_as_subprocess()")

View File

@@ -0,0 +1,17 @@
import logging
from pathlib import Path
log_dir = Path.home() / ".local" / "share" / "tempbox"
log_dir.mkdir(parents=True, exist_ok=True)
log_file = log_dir / "tempbox.log"
logging.basicConfig(
level=logging.DEBUG,
format="%(asctime)s - %(levelname)s - %(message)s",
filename=log_file,
)
logger = logging.getLogger()
logger.debug(f"Log path:\t{log_dir}")
logger.debug(f"Log file:\t{log_file}")

47
tempbox/src/tempbox.py Normal file
View File

@@ -0,0 +1,47 @@
import tempfile
import argparse
from modules.tempbox_functions import execute_as_subprocess
from modules.tempbox_logger import logger
tempbox_version = "Tempbox Beta b0.2.1"
# Argument parsing
parser = argparse.ArgumentParser(
prog="Tempbox",
description="This program accepts an\
command whicht it executes in an temporary directory in /temp.",
# epilog="helloooooooo",
)
parser.add_argument(
"-v",
"--verbose",
action="store_true",
help="Activates or deactivates verbose output. (default=%(default)s)",
)
parser.add_argument(
"-c",
"--command",
help="Takes the string right after the flag to execute it.",
)
parser.add_argument("-V", "--version", action="version", version=tempbox_version)
args = parser.parse_args()
if args.command is not None:
with tempfile.TemporaryDirectory() as temp_dir:
logger.debug(f"'{temp_dir}' was created")
if args.command is not None:
execute_as_subprocess(
args.command,
base_path=temp_dir,
verbosity=args.verbose,
)
else:
parser.print_help()
logger.info("Printed Version")
# Creates a temporary directory and executes the command in it.