diff options
author | Elizabeth <me@liz.coffee> | 2025-06-02 15:54:32 -0700 |
---|---|---|
committer | Elizabeth <me@liz.coffee> | 2025-06-02 15:54:32 -0700 |
commit | 03646d1e891271339ca256fadd15eaa8ac678911 (patch) | |
tree | 5df23a874fa1ae5c62dad318d9098225852f2137 /dots_manager/shell.py | |
parent | d098e94ad102da9d018acca72ca5a5c554d25a01 (diff) | |
download | dotfiles-03646d1e891271339ca256fadd15eaa8ac678911.tar.gz dotfiles-03646d1e891271339ca256fadd15eaa8ac678911.zip |
Make it a python package
Diffstat (limited to 'dots_manager/shell.py')
-rw-r--r-- | dots_manager/shell.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/dots_manager/shell.py b/dots_manager/shell.py new file mode 100644 index 0000000..afd705a --- /dev/null +++ b/dots_manager/shell.py @@ -0,0 +1,14 @@ +import subprocess +import logging +from typing import List, Optional + + +def run_shell_command(cmd: List[str], logger: logging.Logger) -> Optional[str]: + logger.debug(f"running command: {cmd}") + try: + return subprocess.run( + cmd, capture_output=True, text=True, check=True + ).stdout.strip() + except subprocess.CalledProcessError as e: + logger.error(f"command failed: {cmd}, {e.stderr}") + return None |