fix 多个容器名,拼接

This commit is contained in:
thsrite
2024-04-13 22:49:59 +08:00
parent 3cf562e62b
commit 62362f6136
3 changed files with 9 additions and 8 deletions

View File

@@ -30,5 +30,5 @@ MoviePilot三方插件市场https://github.com/thsrite/MoviePilot-Plugins/
- [微信消息转发 1.5](docs%2FWeChatForward.md)
- 订阅下载统计 1.5
- [自定义命令 1.5](docs%2FCustomCommand.md)
- docker管理 1.1
- docker管理 1.2

View File

@@ -279,11 +279,12 @@
"DockerManager": {
"name": "docker管理",
"description": "管理宿主机docker自定义容器定时任务。",
"version": "1.1",
"version": "1.2",
"icon": "Docker_F.png",
"author": "thsrite",
"level": 1,
"history": {
"v1.2": "多个容器名,拼接",
"v1.1": "修复多个任务立即运行一次",
"v1.0": "init"
}

View File

@@ -21,7 +21,7 @@ class DockerManager(_PluginBase):
# 插件图标
plugin_icon = "Docker_F.png"
# 插件版本
plugin_version = "1.1"
plugin_version = "1.2"
# 插件作者
plugin_author = "thsrite"
# 作者主页
@@ -111,14 +111,15 @@ class DockerManager(_PluginBase):
# 获取所有容器列表
containers = self._docker_client.containers.list(all=True)
container_names = str(name).split(",")
# 遍历容器列表找到对应名称的容器ID
for container in containers:
for env in container.attrs['Config']['Env']:
if str(env.split("=")[0]) == "HOST_CONTAINERNAME":
if str(env.split("=")[1]) == str(name):
if str(env.split('=')[1]) in container_names:
container_id = container.id
# 执行命令
log_text = f"容器:{name} {command}"
log_text = f"容器:{env.split('=')[1]} {command}"
try:
state = True
@@ -152,7 +153,7 @@ class DockerManager(_PluginBase):
history = self.get_data('history') or []
history.append({
"name": name,
"name": env.split('=')[1],
"command": command,
"result": 'success' if state else 'fail',
"time": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))
@@ -172,7 +173,6 @@ class DockerManager(_PluginBase):
text=log_text,
image=container_icon if container_icon and str(container_icon).startswith(
"http") else None)
break
def __update_config(self):
self.update_config({
@@ -333,7 +333,7 @@ class DockerManager(_PluginBase):
'props': {
'type': 'info',
'variant': 'tonal',
'text': '容器名#cron表达式#restart/start/stop/pause/unpause/update'
'text': '容器名(多个容器名,拼接)#cron表达式#restart/start/stop/pause/unpause/update'
}
}
]