""" Report Formatter for TradingAgents Analysis This module formats and structures analysis results for PDF generation, matching the exact terminal output structure. """ from typing import Dict, Any, List, Optional from datetime import datetime import json class ReportFormatter: """Formats trading analysis results into structured sections for PDF generation.""" def __init__(self): self.sections = {} def format_complete_report(self, analysis_data: Dict[str, Any], ticker: str, date: str) -> str: """ Format complete analysis report into structured HTML matching the terminal output. Args: analysis_data: Complete analysis results including final_state ticker: Stock ticker symbol date: Analysis date Returns: Formatted HTML content matching terminal structure """ html_sections = [] # Cover page html_sections.append(self._create_cover_page(ticker, date)) # Get final_state for structured data final_state = analysis_data.get('final_state', {}) # Complete Analysis Report Header html_sections.append('
Analysis Date: {date}
Generated on: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}
Workflow: Analyst Team → Research Team → Trader → Risk Management → Portfolio Management