"""Export service for VoIdea — JSON, Markdown, HTML (printable as PDF).""" import json from datetime import datetime from typing import Any def export_json( title: str, content: str, metadata: dict[str, Any] | None = None, ) -> str: data = { "title": title, "exported_at": datetime.utcnow().isoformat(), "content": content, "metadata": metadata or {}, } return json.dumps(data, ensure_ascii=False, indent=2) def export_markdown( title: str, content: str, metadata: dict[str, Any] | None = None, ) -> str: lines = [f"# {title}", ""] if metadata: for k, v in metadata.items(): lines.append(f"- **{k}**: {v}") lines.append("") lines.append("---") lines.append("") lines.append(content) lines.append("") lines.append(f"*Экспортировано {datetime.utcnow().isoformat()}*") return "\n".join(lines) def export_html( title: str, content: str, metadata: dict[str, Any] | None = None, ) -> str: meta_rows = "" if metadata: for k, v in metadata.items(): meta_rows += f"