diff --git a/lnxlink/modules/docker.py b/lnxlink/modules/docker.py index 4b62b3d..6f7e19a 100644 --- a/lnxlink/modules/docker.py +++ b/lnxlink/modules/docker.py @@ -15,9 +15,9 @@ def __init__(self, lnxlink): self._requirements() try: # client = docker.from_env() - self.client = self.docker.DockerClient(base_url='unix://run/docker.sock') + self.client = self.docker.DockerClient(base_url="unix://run/docker.sock") except Exception as err: - raise SystemError("Docker instance not found") + raise SystemError(f"Docker instance not found: {err}") from err self.containers = self._get_containers() def _requirements(self): @@ -33,7 +33,7 @@ def exposed_controls(self): "value_template": f"{{{{ value_json.get('{container}', {{}}).get('running') }}}}", "attributes_template": f"{{{{ value_json.get('{container}', {{}}) | tojson }}}}", } - discovery_info[f"Docker Prune"] = { + discovery_info["Docker Prune"] = { "type": "button", "icon": "mdi:docker", } @@ -48,16 +48,8 @@ def get_info(self): return self.containers def _get_containers(self): - include = ( - self.lnxlink.config["settings"] - .get("docker", {}) - .get("include", []) - ) - exclude = ( - self.lnxlink.config["settings"] - .get("docker", {}) - .get("exclude", []) - ) + include = self.lnxlink.config["settings"].get("docker", {}).get("include", []) + exclude = self.lnxlink.config["settings"].get("docker", {}).get("exclude", []) containers = {} for container in self.client.containers.list(all=True): if len(include) > 0 and container.name not in include: @@ -65,7 +57,7 @@ def _get_containers(self): if container.name in exclude: continue ports = set() - for virtual, host in container.ports.items(): + for _, host in container.ports.items(): if host is not None: for host_info in host: ports.add(host_info["HostPort"]) @@ -100,4 +92,3 @@ def start_control(self, topic, data): self.client.images.prune() self.client.networks.prune() self.client.volumes.prune() - diff --git a/requirements_all.txt b/requirements_all.txt index 347f0f3..0ff2deb 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -15,6 +15,7 @@ dbus-idle>=2024.7.1 dbus-mediaplayer>=2024.8.0 dbus-networkdevices>=2024.0.7 dbus-notification>=2024.7.2 +docker>=7.0.0 ewmh>=0.1.6 mss>=7.0.1 numpy==1.26.4