summaryrefslogtreecommitdiff
path: root/dots_manager/shell.py
diff options
context:
space:
mode:
authorElizabeth <me@liz.coffee>2025-06-02 15:54:32 -0700
committerElizabeth <me@liz.coffee>2025-06-02 15:54:32 -0700
commit03646d1e891271339ca256fadd15eaa8ac678911 (patch)
tree5df23a874fa1ae5c62dad318d9098225852f2137 /dots_manager/shell.py
parentd098e94ad102da9d018acca72ca5a5c554d25a01 (diff)
downloaddotfiles-03646d1e891271339ca256fadd15eaa8ac678911.tar.gz
dotfiles-03646d1e891271339ca256fadd15eaa8ac678911.zip
Make it a python package
Diffstat (limited to 'dots_manager/shell.py')
-rw-r--r--dots_manager/shell.py14
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