Files
iBook/test_reading_stats.py
2025-10-21 10:46:03 +08:00

61 lines
2.2 KiB
Python

#!/usr/bin/env python3
"""
阅读统计图表测试脚本
"""
import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from booklist_parse import BookListManager
def test_reading_statistics():
"""测试阅读统计数据获取"""
print("=== 阅读统计数据测试 ===")
try:
manager = BookListManager()
# 测试基础数据获取
print("1. 获取基础书籍信息...")
booksinfo = manager.get_books_info()
print(f" 发现 {len(booksinfo)} 本书籍")
# 测试7天数据
print("\n2. 获取7天阅读数据...")
week_data = manager.get_total_readtime(days=7)
print(f" 7天数据: {week_data}")
print(f" 7天总时长: {sum(week_data)} 分钟")
# 测试30天数据
print("\n3. 获取30天阅读数据...")
month_data = manager.get_total_readtime(days=30)
print(f" 30天总时长: {sum(month_data)} 分钟")
print(f" 30天非零天数: {sum(1 for x in month_data if x > 0)}")
# 测试12个月数据
print("\n4. 获取12个月阅读数据...")
year_data = manager.get_total_readtime12m()
print(f" 12个月数据: {year_data}")
print(f" 年度总时长: {sum(year_data)} 分钟")
# 检查图表是否会显示
has_data = not all(v == 0 for v in week_data + month_data + year_data)
print(f"\n5. 图表显示状态: {'✅ 有数据,会显示图表' if has_data else '❌ 无数据,显示暂无阅读数据'}")
# 样本数据检查
if len(booksinfo) > 0:
print(f"\n6. 样本书籍数据检查:")
sample_books = list(booksinfo.items())[:3]
for book_id, book_info in sample_books:
title = book_info.get('title', '未知标题')
readtime30d = book_info.get('readtime30d', [])
print(f" - {title[:20]}: {len(readtime30d)}天数据, 总计{sum(readtime30d)}分钟")
except Exception as e:
print(f"❌ 测试失败: {e}")
import traceback
traceback.print_exc()
if __name__ == "__main__":
test_reading_statistics()