aboutsummaryrefslogtreecommitdiff
path: root/tools/cru-py/cru/service/_docker.py
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2024-11-11 01:12:29 +0800
committerYuqian Yang <crupest@crupest.life>2025-01-03 23:41:03 +0800
commitadec0f35eea3b9d955e5631d5b8e54092022116d (patch)
tree0c13bf85cec332b02c7acd1d0edb42aa9da75a32 /tools/cru-py/cru/service/_docker.py
parent7e9fdc36310d1bc63af4f4a0fc2f4963ae0154aa (diff)
downloadcrupest-adec0f35eea3b9d955e5631d5b8e54092022116d.tar.gz
crupest-adec0f35eea3b9d955e5631d5b8e54092022116d.tar.bz2
crupest-adec0f35eea3b9d955e5631d5b8e54092022116d.zip
HALF WORK: 2024.1.3
Diffstat (limited to 'tools/cru-py/cru/service/_docker.py')
-rw-r--r--tools/cru-py/cru/service/_docker.py19
1 files changed, 7 insertions, 12 deletions
diff --git a/tools/cru-py/cru/service/_docker.py b/tools/cru-py/cru/service/_docker.py
index 5958f4f..9b801c4 100644
--- a/tools/cru-py/cru/service/_docker.py
+++ b/tools/cru-py/cru/service/_docker.py
@@ -1,24 +1,19 @@
-import shutil
import subprocess
-from .._util import L
+from cru.tool import ExternalTool
-class DockerController:
+class DockerController(ExternalTool):
DOCKER_BIN_NAME = "docker"
def __init__(self, docker_bin: None | str = None) -> None:
- self._docker_bin = docker_bin
-
- @property
- def docker_bin(self) -> str:
- if self._docker_bin is None:
- self._docker_bin = shutil.which(self.DOCKER_BIN_NAME)
- return self._docker_bin
+ super().__init__(docker_bin or self.DOCKER_BIN_NAME)
def list_containers(self) -> L[str]:
- p = subprocess.run([self.docker_bin, "container", "ls", ""], capture_output=True)
+ p = subprocess.run(
+ [self.docker_bin, "container", "ls", ""], capture_output=True
+ )
return p.stdout.decode("utf-8").splitlines()
def restart_container(self, container_name: str) -> None:
- subprocess.run([self.docker_bin, "restart", container_name]) \ No newline at end of file
+ subprocess.run([self.docker_bin, "restart", container_name])