From bdbf1e9084e9580c9f269c09746cf0823ec16f36 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Thu, 15 Feb 2024 16:56:48 +0800 Subject: [PATCH] fix api --- app/api/endpoints/system.py | 15 ++++++++++++++- app/chain/mediaserver.py | 14 +++++++------- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/app/api/endpoints/system.py b/app/api/endpoints/system.py index db070e89..1241fbc6 100644 --- a/app/api/endpoints/system.py +++ b/app/api/endpoints/system.py @@ -48,7 +48,7 @@ def get_env_setting(_: schemas.TokenPayload = Depends(verify_token)): 查询系统环境变量,包括当前版本号 """ info = settings.dict( - exclude={"SECRET_KEY", "SUPERUSER_PASSWORD", "API_TOKEN"} + exclude={"SECRET_KEY", "SUPERUSER_PASSWORD", "API_TOKEN", "COOKIECLOUD_KEY", "COOKIECLOUD_PASSWORD"} ) info.update({ "VERSION": APP_VERSION, @@ -59,6 +59,19 @@ def get_env_setting(_: schemas.TokenPayload = Depends(verify_token)): data=info) +@router.post("/env", summary="更新系统环境变量", response_model=schemas.Response) +def set_env_setting(env: dict, + _: schemas.TokenPayload = Depends(verify_token)): + """ + 更新系统环境变量 + """ + for k, v in env.items(): + if hasattr(settings, k): + setattr(settings, k, v) + set_key(settings.CONFIG_PATH / "app.env", k, str(v)) + return schemas.Response(success=True) + + @router.get("/progress/{process_type}", summary="实时进度") def get_progress(process_type: str, token: str): """ diff --git a/app/chain/mediaserver.py b/app/chain/mediaserver.py index 68df03b9..b5f7ad16 100644 --- a/app/chain/mediaserver.py +++ b/app/chain/mediaserver.py @@ -66,18 +66,18 @@ class MediaServerChain(ChainBase): """ 同步媒体库所有数据到本地数据库 """ + # 设置的媒体服务器 + if not settings.MEDIASERVER: + return + # 同步黑名单 + sync_blacklist = settings.MEDIASERVER_SYNC_BLACKLIST.split( + ",") if settings.MEDIASERVER_SYNC_BLACKLIST else [] + mediaservers = settings.MEDIASERVER.split(",") with lock: # 汇总统计 total_count = 0 # 清空登记薄 self.dboper.empty() - # 同步黑名单 - sync_blacklist = settings.MEDIASERVER_SYNC_BLACKLIST.split( - ",") if settings.MEDIASERVER_SYNC_BLACKLIST else [] - # 设置的媒体服务器 - if not settings.MEDIASERVER: - return - mediaservers = settings.MEDIASERVER.split(",") # 遍历媒体服务器 for mediaserver in mediaservers: logger.info(f"开始同步媒体库 {mediaserver} 的数据 ...")