|
|
|
|
|
"""Report Generation Plugin""" |
|
|
from typing import Dict, Any, List |
|
|
from datetime import datetime |
|
|
|
|
|
class ReportGenerator: |
|
|
"""Generate formatted reports.""" |
|
|
|
|
|
def generate_markdown_report(self, title: str, sections: List[Dict[str, Any]]) -> str: |
|
|
"""Generate markdown formatted report.""" |
|
|
report = [f"# {title}", f"*Generated: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}*", ""] |
|
|
|
|
|
for section in sections: |
|
|
report.append(f"## {section.get('heading', 'Section')}") |
|
|
report.append(section.get('content', '')) |
|
|
report.append("") |
|
|
|
|
|
return "\n".join(report) |
|
|
|
|
|
def generate_summary(self, data: Dict[str, Any]) -> str: |
|
|
"""Generate executive summary.""" |
|
|
summary = ["## Executive Summary", ""] |
|
|
for key, value in data.items(): |
|
|
summary.append(f"**{key}:** {value}") |
|
|
return "\n".join(summary) |
|
|
|