61 lines
2.2 KiB
Python
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() |