diff options
author | crupest <crupest@outlook.com> | 2024-11-11 01:12:29 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-01-03 23:41:03 +0800 |
commit | adec0f35eea3b9d955e5631d5b8e54092022116d (patch) | |
tree | 0c13bf85cec332b02c7acd1d0edb42aa9da75a32 /tools/cru-py/cru/service/_docker.py | |
parent | 7e9fdc36310d1bc63af4f4a0fc2f4963ae0154aa (diff) | |
download | crupest-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.py | 19 |
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]) |