#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ templateHtml.py - 生成 Trace 执行流程可视化 HTML 参考 visualize.py 的样式设计 """ import json import os from pathlib import Path def generate_trace_visualization_html(output_path: str = None): """ 生成 Trace 可视化 HTML 文件 Args: output_path: 输出的 HTML 文件路径 """ # 读取 mock 数据 mock_dir = Path(__file__).parent / "mock_data" with open(mock_dir / "trace_list.json", "r", encoding="utf-8") as f: trace_list_data = json.load(f) with open(mock_dir / "trace_detail.json", "r", encoding="utf-8") as f: trace_detail_data = json.load(f) # 读取 HTML 模板 template_path = Path(__file__).parent / "trace_template.html" with open(template_path, "r", encoding="utf-8") as f: template_content = f.read() html_content = template_content.replace( '"__TRACE_LIST_DATA__"', json.dumps(trace_list_data, ensure_ascii=False) ).replace( '"__TRACE_DETAIL_DATA__"', json.dumps(trace_detail_data, ensure_ascii=False) ) # 确定输出路径 if output_path is None: output_path = Path(__file__).parent / "trace_visualization.html" else: output_path = Path(output_path) # 写入 HTML 文件 with open(output_path, 'w', encoding='utf-8') as f: f.write(html_content) print(f"可视化文件已生成: {output_path}") return output_path if __name__ == "__main__": generate_trace_visualization_html()