fix: 修复统计日历 bootstrap 导致整站 500

日历数据改为安全 JSON 内嵌,仅统计页构建;构建失败时降级为空,避免拖垮其他页面。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-30 09:24:54 +08:00
parent 3b687d17eb
commit 32079bb4c2
12 changed files with 91 additions and 35 deletions
+17 -1
View File
@@ -3,7 +3,11 @@ from types import SimpleNamespace
from datetime import datetime
from trade_stats_calendar_lib import build_initial_stats_calendar, build_trade_stats_calendar
from trade_stats_calendar_lib import (
build_initial_stats_calendar,
build_stats_calendar_bootstrap,
build_trade_stats_calendar,
)
def _row(**kwargs):
@@ -69,6 +73,18 @@ class TradeStatsCalendarLibTests(unittest.TestCase):
self.assertEqual(payload["month_open_count"], 1)
self.assertIn("2026-06-20", payload["days"])
def test_bootstrap_json_roundtrip(self):
pnls = [(2.5, None, "2026-06-20", _row())]
payload, raw = build_stats_calendar_bootstrap(
pnls,
datetime(2026, 6, 26, 12, 0),
_matches_all,
reset_hour=8,
)
self.assertIsNotNone(payload)
self.assertIsNotNone(raw)
self.assertIn('"month_open_count":1', raw.replace(" ", ""))
if __name__ == "__main__":
unittest.main()