Files
SillyTavern_replica/test_data_access.py

83 lines
2.7 KiB
Python

#!/usr/bin/env python3
"""
测试后端是否能正确访问 data 目录
"""
import sys
from pathlib import Path
# 添加 backend 到 Python 路径
sys.path.insert(0, str(Path(__file__).parent))
try:
from backend.core.config import settings
except ImportError:
from core.config import settings
def test_paths():
"""测试所有路径配置"""
print("=" * 60)
print("路径配置测试")
print("=" * 60)
# 测试基本路径
print(f"\n1. 项目根目录 (BASE_PATH):")
print(f" {settings.BASE_PATH}")
print(f" 存在: {settings.BASE_PATH.exists()}")
print(f"\n2. 数据目录 (DATA_PATH):")
print(f" {settings.DATA_PATH}")
print(f" 存在: {settings.DATA_PATH.exists()}")
# 测试子目录
directories = {
"预设目录 (PRESET_PATH)": settings.PRESET_PATH,
"角色卡目录 (CHARACTERS_PATH)": settings.CHARACTERS_PATH,
"聊天目录 (CHAT_PATH)": settings.CHAT_PATH,
"世界书目录 (WORLDBOOKS_PATH)": settings.WORLDBOOKS_PATH,
"API配置目录": settings.DATA_PATH / "apiconfig",
"图片目录 (IMAGES_PATH)": settings.IMAGES_PATH,
}
print("\n3. 子目录检查:")
for name, path in directories.items():
exists = path.exists()
status = "" if exists else ""
print(f" {status} {name}:")
print(f" {path}")
if exists:
# 列出目录内容(如果有)
try:
items = list(path.iterdir())
if items:
print(f" 内容: {[item.name for item in items[:5]]}")
else:
print(f" (空目录)")
except Exception as e:
print(f" 读取失败: {e}")
# 测试预设文件
print("\n4. 预设文件测试:")
preset_files = list(settings.PRESET_PATH.glob("*.json")) if settings.PRESET_PATH.exists() else []
print(f" 找到 {len(preset_files)} 个预设文件")
for pf in preset_files[:3]:
print(f" - {pf.name}")
# 测试角色卡
print("\n5. 角色卡测试:")
char_dirs = list(settings.CHARACTERS_PATH.iterdir()) if settings.CHARACTERS_PATH.exists() else []
char_count = sum(1 for d in char_dirs if d.is_dir())
print(f" 找到 {char_count} 个角色")
for cd in char_dirs[:3]:
if cd.is_dir():
char_file = cd / "character.json"
has_char_file = char_file.exists()
print(f" - {cd.name} (character.json: {'' if has_char_file else ''})")
print("\n" + "=" * 60)
print("测试完成!")
print("=" * 60)
if __name__ == "__main__":
test_paths()