#!/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()