Source code for pydmt.utils.subprocess

"""
subprocess.py
"""

import os
import os.path
import subprocess

from pydmt.configs import ConfigSubprocess


[docs] def check_call(args: list[str]) -> None: if ConfigSubprocess.print_command: print(f"running {args}") if ConfigSubprocess.quiet: subprocess.check_call(args, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) else: subprocess.check_call(args)
[docs] def check_call_ve_env(args: list[str]) -> None: virtual_env = os.getenv("VIRTUAL_ENV") assert virtual_env is not None, "not in virtual env" args[0] = os.path.join(virtual_env, "bin", args[0]) if ConfigSubprocess.print_command: print(f"running {args}") if ConfigSubprocess.quiet: subprocess.check_call(args, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) else: subprocess.check_call(args)
[docs] def check_call_ve(orig_args: list[str]) -> None: # we call 'venv-run' with absolute path since it may change folder args = [ "venv-run", "--venv", os.path.abspath(".venv/default"), "--", ] args.extend(orig_args) if ConfigSubprocess.print_command: print(f"running {args}") if ConfigSubprocess.quiet: subprocess.check_call(args, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) else: subprocess.check_call(args)