81 lines
2.6 KiB
Python
81 lines
2.6 KiB
Python
"""
|
|
测试世界书读取功能
|
|
"""
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
# 添加backend目录到Python路径
|
|
backend_dir = Path(__file__).parent / "backend"
|
|
sys.path.insert(0, str(backend_dir))
|
|
|
|
from core.config import settings
|
|
from services.worldbook_service import WorldBookService
|
|
|
|
print("=" * 60)
|
|
print("世界书读取功能测试")
|
|
print("=" * 60)
|
|
|
|
print(f"\n1. 配置检查:")
|
|
print(f" 世界书目录: {settings.WORLDBOOKS_PATH}")
|
|
print(f" 目录存在: {settings.WORLDBOOKS_PATH.exists()}")
|
|
|
|
# 列出所有JSON文件
|
|
json_files = list(settings.WORLDBOOKS_PATH.glob("*.json"))
|
|
print(f" JSON文件数量: {len(json_files)}")
|
|
for f in json_files:
|
|
print(f" - {f.name}")
|
|
|
|
print(f"\n2. 测试读取世界书列表:")
|
|
try:
|
|
worldbooks = WorldBookService.list_worldbooks()
|
|
print(f" ✓ 成功读取世界书列表")
|
|
print(f" 世界书数量: {len(worldbooks)}")
|
|
for wb in worldbooks:
|
|
print(f" - {wb['name']} (条目数: {wb['entries_count']})")
|
|
except Exception as e:
|
|
print(f" ❌ 读取失败: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
|
|
if worldbooks:
|
|
# 测试读取第一个世界书的详细信息
|
|
first_book = worldbooks[0]
|
|
book_name = first_book['name']
|
|
|
|
print(f"\n3. 测试读取世界书详情: {book_name}")
|
|
try:
|
|
book_detail = WorldBookService.get_worldbook(book_name)
|
|
print(f" ✓ 成功读取世界书详情")
|
|
print(f" 名称: {book_detail.get('name')}")
|
|
print(f" 描述: {book_detail.get('description', '无')}")
|
|
print(f" 条目数: {len(book_detail.get('entries', []))}")
|
|
except Exception as e:
|
|
print(f" ❌ 读取失败: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
|
|
# 测试分页功能
|
|
print(f"\n4. 测试分页功能:")
|
|
try:
|
|
result = WorldBookService.list_entries(book_name, page=1, page_size=5)
|
|
print(f" ✓ 分页查询成功")
|
|
print(f" 总条目数: {result['total']}")
|
|
print(f" 当前页: {result['page']}")
|
|
print(f" 每页数量: {result['page_size']}")
|
|
print(f" 总页数: {result['total_pages']}")
|
|
print(f" 返回条目数: {len(result['entries'])}")
|
|
|
|
if result['entries']:
|
|
print(f" 第一条目预览:")
|
|
first_entry = result['entries'][0]
|
|
print(f" UID: {first_entry.get('uid')}")
|
|
print(f" 内容长度: {len(first_entry.get('content', ''))}")
|
|
except Exception as e:
|
|
print(f" ❌ 分页查询失败: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
|
|
print("\n" + "=" * 60)
|
|
print("测试完成")
|
|
print("=" * 60)
|