commcoach: fix PDF export crash - provide services stub for RendererPdf
Made-with: Cursor
This commit is contained in:
parent
b6c01fd203
commit
210c9d44a1
1 changed files with 15 additions and 2 deletions
|
|
@ -140,6 +140,19 @@ def buildSessionMarkdown(session: Dict[str, Any], messages: List[Dict[str, Any]]
|
||||||
return "\n".join(lines)
|
return "\n".join(lines)
|
||||||
|
|
||||||
|
|
||||||
|
class _DebugUtils:
|
||||||
|
"""Minimal stub for services.utils required by RendererPdf."""
|
||||||
|
@staticmethod
|
||||||
|
def debugLogToFile(message: str, context: str = "DEBUG"):
|
||||||
|
logger.debug(f"[{context}] {message}")
|
||||||
|
|
||||||
|
|
||||||
|
class _ServicesStub:
|
||||||
|
"""Minimal services stub providing utils for RendererPdf."""
|
||||||
|
def __init__(self):
|
||||||
|
self.utils = _DebugUtils()
|
||||||
|
|
||||||
|
|
||||||
async def renderDossierPdf(context: Dict[str, Any], sessions: List[Dict[str, Any]],
|
async def renderDossierPdf(context: Dict[str, Any], sessions: List[Dict[str, Any]],
|
||||||
tasks: List[Dict[str, Any]], scores: List[Dict[str, Any]],
|
tasks: List[Dict[str, Any]], scores: List[Dict[str, Any]],
|
||||||
aiService=None) -> Optional[bytes]:
|
aiService=None) -> Optional[bytes]:
|
||||||
|
|
@ -147,7 +160,7 @@ async def renderDossierPdf(context: Dict[str, Any], sessions: List[Dict[str, Any
|
||||||
try:
|
try:
|
||||||
from modules.services.serviceGeneration.renderers.rendererPdf import RendererPdf
|
from modules.services.serviceGeneration.renderers.rendererPdf import RendererPdf
|
||||||
extractedContent = _buildPdfContent(context, sessions, tasks, scores, isDossier=True)
|
extractedContent = _buildPdfContent(context, sessions, tasks, scores, isDossier=True)
|
||||||
renderer = RendererPdf()
|
renderer = RendererPdf(services=_ServicesStub())
|
||||||
docs = await renderer.render(extractedContent=extractedContent, title=context.get("title", "Dossier"), aiService=aiService)
|
docs = await renderer.render(extractedContent=extractedContent, title=context.get("title", "Dossier"), aiService=aiService)
|
||||||
if docs and len(docs) > 0:
|
if docs and len(docs) > 0:
|
||||||
return docs[0].documentData
|
return docs[0].documentData
|
||||||
|
|
@ -166,7 +179,7 @@ async def renderSessionPdf(session: Dict[str, Any], messages: List[Dict[str, Any
|
||||||
from modules.services.serviceGeneration.renderers.rendererPdf import RendererPdf
|
from modules.services.serviceGeneration.renderers.rendererPdf import RendererPdf
|
||||||
title = f"Session {_formatDate(session.get('startedAt'))}"
|
title = f"Session {_formatDate(session.get('startedAt'))}"
|
||||||
extractedContent = _buildPdfContent({"title": title}, [session], tasks, scores, isDossier=False, messages=messages)
|
extractedContent = _buildPdfContent({"title": title}, [session], tasks, scores, isDossier=False, messages=messages)
|
||||||
renderer = RendererPdf()
|
renderer = RendererPdf(services=_ServicesStub())
|
||||||
docs = await renderer.render(extractedContent=extractedContent, title=title, aiService=aiService)
|
docs = await renderer.render(extractedContent=extractedContent, title=title, aiService=aiService)
|
||||||
if docs and len(docs) > 0:
|
if docs and len(docs) > 0:
|
||||||
return docs[0].documentData
|
return docs[0].documentData
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue