Support backend connection timeout configuration

This commit is contained in:
Koha9
2025-11-29 08:18:32 +09:00
parent da6056c1ae
commit 0ede137170
4 changed files with 44 additions and 8 deletions
+15 -1
View File
@@ -92,6 +92,7 @@ class SyncSettingsResponse(BaseModel):
server_url: str | None = None
scheme: str | None = None
port: str | None = None
timeout: int | None = None
token: str | None = None
@@ -135,6 +136,7 @@ def _get_cloud_playlists() -> tuple[list[dict], str, dict, str, list[str]]:
scheme=server_config.scheme,
url=server_config.url,
port=server_config.port,
timeout=server_config.timeout,
)
status = "connected" if plex_client.connected else "failed"
server_info.update(
@@ -245,6 +247,7 @@ def _get_server_status() -> tuple[dict, str, list[dict]]:
scheme=server_config.scheme,
url=server_config.url,
port=server_config.port,
timeout=server_config.timeout,
)
connection_status = "connected" if plex_client.connected else "failed"
server_info.update(
@@ -301,6 +304,7 @@ async def get_settings():
server_url=server_config.url,
scheme=server_config.scheme,
port=server_config.port,
timeout=server_config.timeout,
token=server_config.token,
)
@@ -345,6 +349,7 @@ async def api_connect(payload: ConnectRequest):
scheme=payload.protocol,
url=payload.address,
port=payload.port,
timeout=payload.timeout,
)
libraries = []
selected_library = payload.library_name or server_config.library_name
@@ -359,6 +364,7 @@ async def api_connect(payload: ConnectRequest):
scheme=payload.protocol,
url=payload.address,
port=payload.port,
timeout=payload.timeout,
library_name=selected_library or "",
)
server_info = {
@@ -565,6 +571,7 @@ async def login_page(request: Request):
scheme=server_config.scheme,
url=server_config.url,
port=server_config.port,
timeout=server_config.timeout,
)
music_libraries = plex_client.get_libs_name_list()
if music_libraries:
@@ -612,6 +619,7 @@ async def login(
scheme=scheme,
url=url,
port=port,
timeout=server_config.timeout,
)
# 成功连接后保存配置到配置文件
music_libraries: list[str] = []
@@ -632,12 +640,18 @@ async def login(
scheme=scheme,
url=url,
port=port,
timeout=server_config.timeout,
library_name=selected_library,
)
else:
music_libraries = []
server_config.set_and_save_config(
token=token_success, scheme=scheme, url=url, port=port, library_name=""
token=token_success,
scheme=scheme,
url=url,
port=port,
timeout=server_config.timeout,
library_name="",
)
return templates.TemplateResponse(
"login.html",