refactor: 移除不再维护的服务器文件列表接口,简化代码结构,提升可读性
This commit is contained in:
parent
d66b640d4f
commit
84e4575717
|
|
@ -1,5 +1,4 @@
|
||||||
import asyncio
|
import asyncio
|
||||||
import os
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
|
|
@ -95,56 +94,3 @@ async def get_servers_status():
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
return response_list
|
return response_list
|
||||||
|
|
||||||
|
|
||||||
@service_router.get("/servers/{server_index}/files", response_model=ServerFiles)
|
|
||||||
async def list_server_files(
|
|
||||||
server_index: int = Path(..., ge=0, description="服务器在配置列表中的索引")
|
|
||||||
):
|
|
||||||
"""
|
|
||||||
获取指定ComfyUI服务器的输入和输出文件夹中的文件列表。
|
|
||||||
注意:由于节点管理不再维护目录,此接口返回空列表。
|
|
||||||
"""
|
|
||||||
servers = await server_manager.get_all_servers()
|
|
||||||
if server_index >= len(servers):
|
|
||||||
raise HTTPException(
|
|
||||||
status_code=404,
|
|
||||||
detail=f"服务器索引 {server_index} 超出范围。有效索引为 0 到 {len(servers) - 1}。",
|
|
||||||
)
|
|
||||||
|
|
||||||
server_config = servers[server_index]
|
|
||||||
|
|
||||||
# 由于节点管理不再维护目录,返回空列表
|
|
||||||
input_files, output_files = [], []
|
|
||||||
|
|
||||||
return ServerFiles(
|
|
||||||
server_index=server_index,
|
|
||||||
http_url=server_config.http_url,
|
|
||||||
input_files=input_files,
|
|
||||||
output_files=output_files,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
async def _get_folder_contents(path: str) -> List[FileDetails]:
|
|
||||||
"""异步地列出并返回文件夹内容的详细信息。"""
|
|
||||||
if not os.path.isdir(path):
|
|
||||||
return []
|
|
||||||
|
|
||||||
def sync_list_files(dir_path):
|
|
||||||
files = []
|
|
||||||
try:
|
|
||||||
for entry in os.scandir(dir_path):
|
|
||||||
if entry.is_file():
|
|
||||||
stat = entry.stat()
|
|
||||||
files.append(
|
|
||||||
FileDetails(
|
|
||||||
name=entry.name,
|
|
||||||
size_kb=round(stat.st_size / 1024, 2),
|
|
||||||
modified_at=datetime.fromtimestamp(stat.st_mtime),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
except OSError as e:
|
|
||||||
print(f"无法扫描目录 {dir_path}: {e}")
|
|
||||||
return sorted(files, key=lambda x: x.modified_at, reverse=True)
|
|
||||||
|
|
||||||
return await asyncio.to_thread(sync_list_files, path)
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue