refactoring for helper functions
This commit is contained in:
parent
92f2082d88
commit
2204f9e575
59
src/pycage/helpers.py
Normal file
59
src/pycage/helpers.py
Normal file
@ -0,0 +1,59 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import shutil
|
||||
import stat
|
||||
from pathlib import Path
|
||||
|
||||
import click
|
||||
|
||||
from pycage import config, helpers
|
||||
|
||||
|
||||
def print_error(
|
||||
error: Exception,
|
||||
) -> None:
|
||||
click.echo(f"During the procedure the following exception occurred: {error}", err=True)
|
||||
|
||||
|
||||
def path_verify_existence(path: Path) -> None:
|
||||
if not path.exists():
|
||||
raise FileNotFoundError(f"Path does not exist: >{path}<")
|
||||
|
||||
|
||||
def path_verify_directory(path: Path) -> None:
|
||||
if not path.is_dir():
|
||||
raise ValueError(f"Path is not a directory: >{path}<")
|
||||
|
||||
|
||||
def delete_folder_recursively(
|
||||
folder: Path,
|
||||
verbose: bool = False,
|
||||
) -> None:
|
||||
if not folder.exists():
|
||||
return
|
||||
|
||||
if verbose:
|
||||
print(
|
||||
f"Target folder with name >{folder.name}< already exists and "
|
||||
"is deleted automatically."
|
||||
)
|
||||
|
||||
path_verify_directory(folder)
|
||||
if not folder.is_absolute():
|
||||
folder = folder.absolute()
|
||||
|
||||
if not os.access(folder, os.W_OK):
|
||||
os.chmod(folder, stat.S_IWUSR)
|
||||
shutil.rmtree(folder)
|
||||
|
||||
|
||||
def get_interpreter() -> Path:
|
||||
exec_interp = config.CFG.os_info.INTERPRETER
|
||||
pth_int = Path.cwd() / "python" / exec_interp
|
||||
try:
|
||||
helpers.path_verify_existence(pth_int)
|
||||
except FileNotFoundError as err:
|
||||
raise RuntimeError("Base interpreter not found") from err
|
||||
|
||||
return pth_int
|
||||
Loading…
x
Reference in New Issue
Block a user