MCPcopy Create free account
hub / github.com/ZyphrZero/z.ai2api_python / import_tokens_from_directory_api

Function import_tokens_from_directory_api

app/admin/api.py:706–780  ·  view source on GitHub ↗

从本地目录导入 token 文件。

(request: Request)

Source from the content-addressed store, hash-verified

704
705@router.post("/tokens/import-directory", dependencies=[Depends(require_auth)])
706async def import_tokens_from_directory_api(request: Request):
707 """从本地目录导入 token 文件。"""
708 from app.core.config import settings
709 from app.services.token_automation import run_directory_import
710
711 form_data = await request.form()
712 source_dir = str(
713 form_data.get("source_dir")
714 or settings.TOKEN_AUTO_IMPORT_SOURCE_DIR
715 or ""
716 ).strip()
717 try:
718 source_dir = _validate_directory_path(source_dir)
719 except ValueError as exc:
720 return _build_alert(
721 str(exc),
722 title="导入失败!",
723 level="error",
724 status_code=400,
725 )
726
727 try:
728 summary = await run_directory_import(
729 source_dir,
730 provider=DEFAULT_TOKEN_NAMESPACE,
731 validate=True,
732 )
733 except (FileNotFoundError, NotADirectoryError) as exc:
734 return _build_alert(
735 str(exc),
736 title="导入失败!",
737 level="error",
738 status_code=400,
739 )
740 except RuntimeError as exc:
741 return _build_alert(
742 str(exc),
743 title="导入稍后重试",
744 level="warning",
745 status_code=409,
746 )
747 except Exception as exc:
748 logger.exception(f"❌ 本地目录导入 Token 失败: {exc}")
749 return _build_alert(
750 f"目录扫描或入库异常: {exc}",
751 title="导入失败!",
752 level="error",
753 status_code=500,
754 )
755
756 if summary.imported_count > 0:
757 title = "导入成功!" if summary.failed_count == 0 else "导入完成!"
758 detail = (
759 f"目录 {summary.source_dir} 共扫描 {summary.scanned_files} 个文件,"
760 f"成功导入 {summary.imported_count} 个 Token,"
761 f"重复 {summary.duplicate_count} 个,"
762 f"无效 JSON {summary.invalid_json_count} 个,"
763 f"缺少 token {summary.missing_token_count} 个,"

Callers

nothing calls this directly

Calls 3

run_directory_importFunction · 0.90
_validate_directory_pathFunction · 0.85
_build_alertFunction · 0.85

Tested by

no test coverage detected