import os import json from datetime import datetime from src.gemini_utils import SESSION_TRACKER REPORT_PATH = "report.html" def generate_visual_report(metrics: list) -> str: """Genera un reporte HTML con gráficos y tabla detallada.""" # REPORT_PATH is now relative to current working directory # No need to create directory as it goes to root of project or where script runs timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S") # Cálculos básicos total = len(metrics) included = len([m for m in metrics if m['status'] == 'INCLUDED']) filtered = len([m for m in metrics if m['status'] == 'FILTERED']) duplicates = len([m for m in metrics if m['status'] == 'DUPLICATE']) html = f"""
Run Timestamp: {timestamp}
Processed
Included
Filtered
Duplicates
{m}: {c} calls| Key | Type | Usage | Failures |
|---|---|---|---|
| {idx+1} | {s['type']} | {s['calls']} | {s['429s']}/{s['404s']} |
| # | Status | Title | Primary Category | Impact | Source | Reason |
|---|---|---|---|---|---|---|
| {i} | {m['status']} | {m.get('title', 'N/A')[:60]}... | {m['category']} |
{impact} | {m['source']} | {m['reason']} |